Implement cling (clang) internal state verification.

There are cases where cling needs to 'rollback' its state to a previous one.
Examples for that are cling's error recovery and code unloading. This can become
easily tricky to implement. One step reducing the complexity is the verification
of the 'interesting' data structures.

Implement .storeState and .compareState commands, which dump the internal compiler
data structures like AST (implemented), included files (in progress) and lookup
tables (unimplemented yet). The information is dumped into a file and then that
file is diff-ed to the one taken with .compareState. If they were identical all
files are deleted otherwise a .diff file with the differences remains for debug.
Instrument the error recovery testsuite with .store- and .compare- State.

Add a special lit substitution giving us the executed test folder, so that
before next run we could cleanup.
We don't need the the members and the accessors.
Remove non-llvm patch parts; fix paths
Fix warning on Mac OS

Fix warning: 'TCling__SplitAclicMode' has C-linkage specified, but returns user-defined type 'string' (aka 'basic_string<char>') which is incompatible with C [-Wreturn-type-c-linkage]
Display the bin error for 2D histograms in the status bar.
Display the bin error for 2D histograms in the status bar.
Get the file patch right.
#undef __ROOTCLING__ if it got pulled in from a module / PCH. As it currently does.