Remove TStreamerInfo::Build(); we will use a oersistent TClass.
Revert "Make sure TObjString::Class() before tear down"; it breaks static init.

This reverts commit d31501d5ed15f63c3b1626b0afbc9f3894df6f03.
This is an example of the failure, where llvm (e.g. its Diagnostics) is not yet statically initialized.
    at obj/interpreter/llvm/inst/include/clang/Basic/Diagnostic.h:948
    at src/interpreter/llvm/src/tools/clang/lib/Driver/Driver.cpp:1090
    at src/interpreter/llvm/src/tools/clang/lib/Driver/Driver.cpp:377
    llvmdir=0x4db06b8 "obj/etc/cling", stateCollector=0x4db1bd0)
    at src/interpreter/cling/lib/Interpreter/CIFactory.cpp:303
    llvmdir=0x4db06b8 "obj/etc/cling")
    at src/interpreter/cling/lib/Interpreter/CIFactory.cpp:84
    llvmdir=0x4db06b8 "obj/etc/cling")
    at src/interpreter/cling/lib/Interpreter/IncrementalParser.cpp:58
    llvmdir=0x4db06b8 "obj/etc/cling")
    at src/interpreter/cling/lib/Interpreter/Interpreter.cpp:166
    title=0x3def6e5 <.L.str23> "cling C++ Interpreter") at src/core/meta/src/TCling.cxx:826
    at src/core/meta/src/TCling.cxx:432
    at src/core/base/src/TROOT.cxx:1687
    typeinfo=0x4c8e3d0 <typeinfo for TObjString>, isa=0x4d91010, dfil=0x3de07d1 <.L.str591> "TObjString.h", ifil=0x0, dl=32, il=0, givenInfo=0x0,
    silent=false) at src/core/meta/src/TClass.cxx:1143
    isa=0x4d91010, dfil=0x3de07d1 <.L.str591> "TObjString.h", ifil=0x0, dl=32, il=0, silent=false)
    at src/core/meta/src/TClass.cxx:1087
    dfil=0x3de07d1 <.L.str591> "TObjString.h", ifil=0x0, dl=32, il=0) at src/core/meta/src/TClass.cxx:4747
    this=0x4d00240 <ROOT::DefineBehavior(void*, void*)::theDefault>, cname=0x3ddfd1f <.L.str355> "TObjString", id=1, info=..., isa=0x4d91010,
---Type <return> to continue, or q <return> to quit---
    dfil=0x3de07d1 <.L.str591> "TObjString.h", ifil=0x0, dl=32, il=0) at include/Rtypes.h:255
    this=0x4d32930 <ROOT::GenerateInitInstanceLocal(TObjString const*)::instance>)
    at src/core/meta/src/TGenericClassInfo.cxx:190
    dict=0x1b3ca90 <ROOT::string_Dictionary()>, pragmabits=0) at src/core/cont/src/TClassTable.cxx:265
    dict=0x1b3ca90 <ROOT::string_Dictionary()>, pragmabits=0) at src/core/cont/src/TClassTable.cxx:561
    cname=0x3d92326 <.L.str67> "string", id=1, info=..., dict=0x1b3ca90 <ROOT::string_Dictionary()>, pragmabits=0) at include/Rtypes.h:246
    this=0x4d233c0 <ROOT::GenerateInitInstanceLocal(std::string const*)::instance>, pragmabits=0)
    at src/core/meta/src/TGenericClassInfo.cxx:158
    this=0x4d233c0 <ROOT::GenerateInitInstanceLocal(std::string const*)::instance>, fullClassname=0x3d92326 <.L.str67> "string",
    declFileName=0x3d92326 <.L.str67> "string", declFileLine=1132, info=..., action=0x4d00240 <ROOT::DefineBehavior(void*, void*)::theDefault>,
    dictionary=0x1b3ca90 <ROOT::string_Dictionary()>, isa=0x4d8eeb0, pragmabits=0, sizof=8)
    at src/core/meta/src/TGenericClassInfo.cxx:57
    at src/core/base/src/String.cxx:81
Do not undefine __ROOTCLING__ in rootcling!
These flags must be exposed to the linkdef reader also for stage1.
Do not destroy other people's pthread keys.

See https://lists.fedoraproject.org/pipermail/devel/2010-January/129117.html
And the documentation!
Only call xmlInitParser() once, ever - just like xmlCleanupParser().
Rootcling writes ROOT ("PCM") files.

For now they are empty; they will soon store persistent TClasses for I/O and
class name => set of headers.
Several peripheral changes are included for free - they were needed for
this feature.
Minor changes to fix the CMake builds for latest Axel's push.
Delay evaluation of COREO; SYSTEMO gets added only later.
Avoid unnecessary round-trip through string based interface
Pass the file to BuildCheck rather than using gDirectory
Add support for kCharStar in CompareContent
Use CompareContent also in PostLoadCheck
Bundle the looping over the legacy checksum check.

Add TClass::MatchLegacyCheckSum and TStreamerInfo::MatchLegacyCheckSum
to factor the looping over the set of legacy version of the checksum
calculations.
Expand doc to add some more historical information.
Consistently use ECheckSum.

ELegacyCheckSum has been renamed ECheckSum and is now used as part
of the GetCheckSum interface.
Implement new CheckSum (without typedefs)

The new checksum use the normalize type where the typedef have been
removed except for the opaque one (Double32_t, Float16_t, string,
Long64_t, etc.)
Fix direction of error message
Add code for backward comp. for broken case of abstract classes.

The code would be necessary only in very rare case and is added
here (but hidden behind an ifdef) in case this becomes a blocker.
One of the case would an abstract class that was written to
ROOT file older than v5.18 and in a circurcunstance that led
to an empty TStreamerInfo to be stored in the file and
if in addition one of the data member was declared using a
typedef _and_ the current class definition uses a different typedef.
Fix CompareContent for collection with typedef.

When testing a collection and there is a name mismatch, check not only
the name but also the content (and fix the v5 name as necessary).

In addition the previous test/condition was looking at the wrong names.