Remove almost all code duplication in the function lookup routines.

This is prelude to (re)introducing support for specifying
the desired constness and for exact matches.
Add support for restricting the function search to const functions.

Add an optional argument objectIsConst to findFunctionArgs and
findFunctionProto:

   const clang::FunctionDecl* findFunctionProto(const clang::Decl* scopeDecl,
                                                llvm::StringRef funcName,
                                                llvm::StringRef funcProto,
                                                bool objectIsConst) const;

   const clang::FunctionDecl* findFunctionArgs(const clang::Decl* scopeDecl,
                                               llvm::StringRef funcName,
                                               llvm::StringRef funcArgs,
                                               bool objectIsConst) const;
Add to TInterpreter support for restricting to const the function search.
CINT -> cling
Add to TClass support for restricting the function search to const functions.
Merge LookupHelper with master
Add 'constness' to a method's prototype
Avoid unnecessary lookup in Execute when we already have a TMethod
Re-add IsOverload() and FuncArgTypesMatch() we need them after all.

See b706579ac554e3e5f6e6cc031a21b40f158f1f82
Add matchFunctionProto returning the decl only in case of exact match.

The new call is:

const clang::FunctionDecl* matchFunctionProto(const clang::Decl* scopeDecl,
                                              llvm::StringRef funcName,
                                              llvm::StringRef funcProto,
                                              bool objectIsConst
                                              ) const;

and the function must match in name and prototype (including constness).
The only thing not checked is the actual declaration context.
Add to TInterpreter (and co) the interface for exact match function search
Settle on a single enum (EFunctionMatchMode) the function matching mode
Move EFunctionMatchMode into ROOT namespace
Add to TClass support for exact match function search
Add const and exact search to TMethodCall
Merge with "Add support for const and exact match search"