No need for extra_include of iostream anymore.
Do not expose umbrella to FileManager. Fixed fwd decl callback.

Instead of #including the ubmrella header we now declare its content.
This hides the umbrella header in the include chain, allowing the forward
declarator of cling to detect that the include for TObject is TObject.h
and not the umbrella header. This fixes the "healing" for the forward
declarations when seeing the defining header being included.
Do not expose Xrd internals (type deletion). Should help LHCb.
Do not calculate the offset for nothing! (ROOT-6641)
The intended lock for the interpreter and gROOT is gInterpreterMutex.

gInterpreterMutex is aliases to gROOTMutex.  gGlobalMutex is a lower level lock.
Disable locking in PyROOT::TMethodHolder::Execute.

In v5 code execution on interpreted function and type database manipulation
are intertwined, so technical once a thread starts the execution of code
via CINT, no other threads can access the database (and since we also had
to alias the CINT and main ROOT mutex, no other threads can execute protected
ROOT operation like some deletions).

In v5, short of significant modifications inside CINT, we can not resolve
completely this problem and we must choose between the risk of dead lock
and the risk inherent with the 'unprotected' calls to CINT from PyROOT.
Since the earlier has a 100% probability and the later has a bit less chance
of happening, we disable the lock in PyROOT.

In v6, the database updates and the code execution is well separated and
we will be able to release the database lock before code execution and the
lock will be managed internally by core/meta. So in v6, the lock will also
be unnecessary.
Avoid deleting ROOT resources after gROOT has been deleted
remove unneeded <TAB>'s.
fix for preprocessor test.
Fix for ROOT-6637: NO_SELF_AUTOSELECT functionality is in root6

but implemented using traits.
If a template is present in the selection namespace and it inherits
from the class SelectNoInstance none of its instantiations will be
selected. On the other hand all of the instantiations selected with
other mechanisms will inherit the properties specified in the template,
for example transient data members or template arguments to keep.
Coding conventions
Correct comment
Make sure that in ShortType (when requested) the full name of the sub-element are also 'ResolveTypedef'ed
remove debugging leftover
Fix normalization of args of STL collections types.

Even if we do not (re)add STL collection default template parameters,
we must add them to the template argument themselves.
For example vector<myClass<A> > -> vector<MyClass<A,B> >.
In AddDefaultParameters immediately returns after handling pointer/references.

This repair the lack of normalization of the pointee which was ignored
since mightHaveChanged was not set and there was no early returns.

Also start detecting the case where the underlying type is not changed.
Remove redundant validity check in CompileMacro.

Since rootcling nows use clang, it is as good as (or better than :)) the compiler at reporting
syntax problem with the user code.
workaround for ROOT-6635
Commit Generate a TProtoClass in all the cases we generate a TClass
Use IsTObject instead of InheritsFrom(TObject::Class()).

IsTObject avoid the triggering of autoparsing if the base class does have a dictionary.