[ExprConstant] Use an AST node and a version number as a key to create
an APValue and retrieve it from map Temporaries.
The version number is needed when a single AST node is visited multiple
times and is used to create APValues that are required to be distinct
from each other (for example, MaterializeTemporaryExprs in default
arguments and VarDecls in loops).
rdar://problem/
36505742
Differential Revision: https://reviews.llvm.org/D42776
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@329671
91177308-0d34-0410-b5e6-
96231b3b80d8