fixed a crash on unresolved functions

If we can't resolve a function, then generate a tmp var of int type
fixed a crash

getCallReturnType fails when the type is of TemplateTypeParmType.
In this case, make the temp var have the same type as the corresponding
TemplateTypeParmDecl.
some comments
fixed one more crash

if callee's type is of ElaboratedType, get its named type
rather than invoking getCallReturnType
handle CXXTemporaryObjectExpr

revert previous commit - the root cause of the crash
is CXXTemporaryObjectExpr
relax restriction on CXXDependentScopeMemberExpr