Use std::atomic::load() method to access the contained value

Fix MSVC compilation error C2451: conditional expression of type 'std::atomic<TVirtualStreamerInfo *>' is illegal
Add missing #include <algorithm>
From Dario Pellegrini: use $(PYTHON) instead of python.

Fixes building cling on ArchLinux; that stopped the building as python3 was called instead of python2.
Prepare the metautils layer for the new fwd declarator
Prepare the ingredients for using the new fwd declarator
Remove fatal typo
Remove fatal typo
Eliminate warning about constness casted away
Fully specify the type of clang::Decl
Remove warning
Use proper '&&' and '||' instead of 'and' and 'or'
Fix compilation errors on Windows
Fix compilation errors on Windows

Fix the following compilation errors on Windows:
error C2057: expected constant expression
error C2466: cannot allocate an array of constant size 0
error C2133: 'enScopeName' : unknown size
Forward declare __unDName (undecorate name)
Fix compilation errors on Windows
Fix MSVC compilation error C2065: 'thread_local' : undeclared identifier

Cannot use the proper 'static __declspec(thread)' definition, since it gives the following errors:
error C2483: 'includeName' : object with constructor or destructor cannot be declared 'thread'
Replace uint by unsigned int (fixing compilation error on Windows)
Fix for roottest-root-meta-execTypedefList-auto
Fix compilation errors on Windows
Generate log statement for all skipped decls, also fixes a restrict bug