Make TClass::fIsAMethod setting thread safe

Caching and initialization of TClass::fIsAMethod have been changed
to make them thread safe and for calls to the TMethodCall can happen
concurrently.
Merge pull request #27 from Dr15Jones/threadSafeTClassfIsAMethod

Make TClass::fIsAMethod setting thread safe
Remove parentheses from destructor call to fix problem with clang 3.5

The clang 3.5 compiler needs a slightly different syntax when calling
the destructor. It does not allow a set of parentheses between the
name of the destructor and the parentheses which cause the call.
Call TROOT::GetGlobalFunction instead of GetListOfGlobalFunctions

Since the global function list needs to be locked to be thread safe,
the simplest way of avoiding having to take the locks outside of
TROOT is to call GetGlobalFunction instead.
Lock access to gROOT->fGlobalFunctions

The list of global functions must be protected from simultaneous
writes/reads.
Merge pull request #30 from Dr15Jones/fixClangProblemWithDestructorWrapper

Remove parentheses from destructor call to fix problem with clang 3.5
Merge pull request #31 from Dr15Jones/lockAccessToGlobalFunctionsList

Lock access to global functions list