Do not create a branch for empty base class of top level objects
Protect global list of functions from concurrent access

The list returned from TROOT::GetListOfFunctions needs to be protected
from concurrent access to allow use of TFormulas on different
threads.
Protect global list of TFormulaPrimitives
Merge pull request #16 from Dr15Jones/protectTFormula

Protect global list of functions from concurrent access
Add missing lock
Merge pull request #22 from Dr15Jones/lockTMethodCallReturnType

Add missing lock.