Reduce the amount of headers needed by the dynamic scopes at runtime:
* Make GenericValue, clang::QualType opaque in Value
* Move LifetimeHandler implementation into source; requires separate header
* 

Also:
* Value: replace CPP macros by overloads


git-svn-id: https://root.cern.ch/svn/root/trunk@48675 27541ba8-7e3a-0410-8455-c3a389f83636
Try to load the header from a  module, if that fails: include the header.
Fixes cling test suite.


git-svn-id: https://root.cern.ch/svn/root/trunk@48676 27541ba8-7e3a-0410-8455-c3a389f83636