Fix TClingTypedefInfo::Init to actually support typedef.

Replace the call to findScope by a call to findType
as not all typedef are scope and findScope (without
the optional argument) strips the typedef anyway!
Fix TMetaUtils::GetFullyQualifiedType in case the type is a RecordType of template specialization
Restore Parser state before committing the associated transaction.

In LookupHelper::findType, we switch the RAII for the transaction
and for the parser so that the parser state is restored before
the transaction is committed.   This fixes the execution of

 gROOT->GetListOfTypes()->FindObject("deque<ROOT::TTreeReaderValueBase*>::_Alloc_value_type"); gROOT->GetListOfTypes()->FindObject("deque<ROOT::TTreeReaderValueBase*>::const_iterator");

When both statement were in the same transaction, without this
change, the 2nd one would return (incorrectly) zero.
Replace the container used for GetListOfTypes with one with lookup.

Rather than filling the ListOfTypes with all the known typedefs
we now fill the list on demand by replace FindObject with
a routine that does a lookup if the typedef is not yet in the list.

This improves the behavior as the FindObject now finds the
typedef even if the spelling is not exactly the normalized
spelling.

This will reduce the memory used and also avoid having to
deserialize all decl that might (or might not) contains
typedefs.

In addition, the existing implemenation had several (fixeable)
deficiency (using getNameAsString rather than the routine
creating the normalized name) lead to duplicate entries
being created (because it looked for nestedtype rather than
outer::nestedtype).

More over it was missing some fo the typedefs (like for example
TOrdCollection::Iterator_t).   Whenever HandleDeclNew saw
TOrdCollection it was always empty (HandleDeclNew was called 4 times
with TOrdCollection during the startup).

Add TInterpreter::TypedefInto_Factory(const char*name)
Remove obsolte 'load' of list of types. Update doc
Now that GetListOfTypes has a lookup, no need for shortening the name
Merge in the ListOfTypes replacement.
Some NamedDecl (constructors and desctructors) do not have a name.

Since the code does not (yet) use the name for anything here, remove
the call to getName() which provokes an assert in clang if the decl
is a constructor or a destructor.
Add failing test for Baozeng to fine tune the NullDeref impl.
Improve style.
Add a reproducer in the test of a current issue for Baozeng to look into.

This happens probably because we don't iterate over the redecl chains and thus
we don't pickup the attribute.
Uncomment commented lines, that fail on Mac.
Remove unnecessary virtual keyword.  Lower version number to minimun.
Fix typo
Apply fix suggested here: http://root.cern.ch/phpBB3/viewtopic.php?f=14&t=16930
Make TListOfTypes a 'private' class in core/base.

For now, this is just an implementation details, no need
to expose it to the user.
Add basic implementation for GetColumns. Fixes ROOT-5332.

Patch by Oliver Freyermuth.
Fix https://sft.its.cern.ch/jira/browse/ROOT-5053
Completed description for kPLightReflection.
It can be used also for dichroic mirror transmission (since Geant4 10.00).
Class version and user defined properties xml2TClass

The percolation of all kind of properties and class version to
TClass is now in place.
The version is a special case. It has to be included in the selection
rule in the XML reader. Indeed the class selection rules are used to
set the version of particular TClass instances.
The genral properties are percolated via the AST modifying in the
dictionary the TAttributeMap of the TClass associated to a particular
class.