Fix a compilation warning and a typo
Add missing protection to avoid reading before the start a string.

This fixes ROOT-5353.
(cherry picked from v5-34-00-patches commit 249bf475cdf220978e428e57f95b1cfea693cba9)
Fix warning: base class ‘class TInterpreterValue’ should be explicitly initialized
Quiet down Coverity 51897, 51898 Uninitialized pointer field
Added support for TNtuple in Value Reader
Changed method to get Dictionary for Float_t
Fixes for coverity issues 51895, 51894 and 51893
Fix for coverity issues 51892 and 51891
Added comments to justify Error printing
Use deque instead of TObjArray - will get rid of Reader/TObject derivation
int / size_t warning.
Remove TObject inheritance, add class name method, until ClassDefInline exists.
Reorder data members (to reduce padding)
Reduce #includes (outline GetCurrentEntry); upadte (c).
Save only last instance of the second ntuple in test file
Function to Print() any TObject on PROOF cluster
Fix the destruction order now that libCling is separate from libCore.

Since the interpreter implementation (currently TCling) is loaded via
dlopen by libCore, the destruction of its global variable (i.e. in
particular clang's) is scheduled before those in libCore so we need to
schedule the call to the TROOT destructor before that *but* we want to
make sure the memory stay around until libCore itself is unloaded so
that code using gROOT can 'properly' check for validity.

The order of loading for is:
     libCore.so
     libRint.so
     ... anything other library hard linked to the executable ...
     ... for example libEvent
     libCling.so
     ... other libraries like libTree for example ....

and the destruction order is (of course) the reverse.  By default the
unloading of the dictionary, does use the service of the interpreter
... which of course fails if libCling is already unloaded by that
information has not been registered per se.

To solve this problem, we now schedule the destruction of the TROOT
object to happen _just_ before the unloading/destruction of libCling
so that we can maximize the amount of clean-up we can do correctly and
we can still allocate the TROOT object's memory statically.
Tweak the dlopen option for libCling (to RTLD_NOW|RTLD_LOCAL)
CreateCling, DestroyCling -> CreateInterpreter, DestroyInterpreter
Temporarily relax the dlopen flag.

On MacOSX, with the local flag the 'Module' used by cling is missing quite
a few symbols:

root [0] int a = 2;
root [1] a
ExecutionContext: use of undefined symbol '_ZN5cling16ValuePrinterInfoC1EPN5clang4ExprEPNS1_10ASTContextE'!
ExecutionContext: use of undefined symbol '_ZN5cling20valuePrinterInternal13flushToStreamERN4llvm11raw_ostreamERKSs'!
ExecutionContext: use of undefined symbol '_ZN5cling20valuePrinterInternal18printValue_DefaultEPKvRKNS_16ValuePrinterInfoE'!
ExecutionContext: use of undefined symbol '_ZN5cling20valuePrinterInternal17printType_DefaultERKNS_16ValuePrinterInfoE'!
ExecutionContext::executeFunction: symbol '_ZN5cling16ValuePrinterInfoC1EPN5clang4ExprEPNS1_10ASTContextE' unresolved while linking function '_Z15__cling_Un1Qu31v'!
ExecutionContext::executeFunction: symbol '_ZN5cling20valuePrinterInternal13flushToStreamERN4llvm11raw_ostreamERKSs' unresolved while linking function '_Z15__cling_Un1Qu31v'!
ExecutionContext::executeFunction: symbol '_ZN5cling20valuePrinterInternal17printType_DefaultERKNS_16ValuePrinterInfoE' unresolved while linking function '_Z15__cling_Un1Qu31v'!
ExecutionContext::executeFunction: symbol '_ZN5cling20valuePrinterInternal18printValue_DefaultEPKvRKNS_16ValuePrinterInfoE' unresolved while linking function '_Z15__cling_Un1Qu31v'!
root [2] .q