Alphabetic order.
Add useful comment.
Implement compiler flags and parsing of legacy switches

Other functionalities are now in:
 o -I, -D, -U compiler flags properly percolated to rootcling
 o capabilities filename, no_membertypedefs, no_templatetypedefs
   rise a warning stating they are not supported anymore to get
   feedback from experiments when deployed
 o The other legacy options are swallowed, e.g. the gccxml ones.

Minor improvements, mainly extraction of repeated functionalities
in functions for better maintainability and readability.
move all cling/clang/LLVM dependencies to libCling.

This new libCling library is loaded in TROOT::InitInterpreter().
By moving all LLVM dependencies to libCling the LLVM symbols are not
exported to other parts of the program and linking with libCore does
not force the ROOT version of LLVM on its users. Also libCling does
solve the LLVM globals initialization order to the time libCling gets
loaded.
add missing <string,h>.
Working reading of collectionless STL branches from TChains
Tweaking tests for leaves
Changing how leaves are read in both Array and Value reader.

This is to better support TChains and changing of the trees
Refactoring in tests
All tests now successful most of the time
Code cleanup of unused variables
Possibly fixes the undeterministic behaviour
Change member to non-pointer for automatic garbage collection
Change member to non-pointer to avoid memory leak
Removed unnecessary initializer for TString
Added comment lines for the documentation generation