In TViewPubFunctions prevent FindObject(name) from returning the wrong function
Remove unnecessary const_cast
CheckClassInfo no longer modify its argument
Remove a few static string usage.

Backward incompatible change in TInterpreter::GetInterpreterTypeName
and change in the internal interface for name retrievals
(TClingClassInfo and TClingBaseClassInfo's FullName)
which now takes a modifiable std::string to send back the result.
Add TMethodCall constructor from a TFunction.
Allow findAnyFunction to discover a template instance without any argument hints

This allows to find an existing function template instance even based on only
the template name (of course, in this case, no instantiation is done, only already
existing ones can be returned).

This allows add there same features to TListOfFunctions::FindObject and
TViewAllPublicFunctions::FindObject.
Add cling::LookupHelper::findFunctionTemplate

Given a context and a name (and a constness), return the corresponding
function template decl.
Move ConstructorName to TCling, add TCling::GetFunctionName
Add TClingClassInfo::GetFunctionTemplate
Add TInterpreter::GetFunctionTemplate and FuncTempInfo_t support.

FuncTempInfo_t represent a Function Template Declaration.
We preserve the pattern of the other Info (i.e. it looks like to
the user as an opaque class that can be constructed and deleted)
but the implementation is simply to return (and never allocated
or dealloacte directly) the clang decl address.  Thus all
the implmenentation of 'TClingFunctionTemplate' is currently
directly into the implementation of the TCling::FuncTempInfo_*.
Doc slight update
Add TFunctionTemplate class
Add TClass::GetFunctionTemplate and TROOT::GetFunctionTemplate
Merge adding support function template (and solving a few deficiency in function lookup)