Fix thread safety of TGenCollectionProxy's iterator creation.

The major change is that the utility routine returned by
TVirtualCollectionProxy::GetFunctionCreateIterators
now has the prototype:

typedef void (*CreateIterators_t)(void *collection, void **begin_arena, void **end_arena, TVirtualCollectionProxy *proxy);

i.e. adding a new pointer to the virtual collection proxy so
that in the case where the routine can not hard code all
the information (for example in the case of emulated collection
proxy) it can now get the information from a the CollectionProxy
without relying on the calls to PushProxy (which we are trying
to deprecate in general as it is somewhat thread adverse).

(cherry picked from master commit 4dc2a718ef4cf0883c6770e4388dbbf198ce7a50)
Fix thread safety of TThread::TThread(Long_t id)

Changing fId is a common ressource (see TThread::GetThread)
and thus its update must be locked.

(cherry picked from commit c85bd1176dee1629ac1beb0d7f57003198dd281a)
Implement dummy operators #mbox and #hbox to improve the compatibility between TLatex, TMathTex and TTexDump
Treat \mbox as \hbox to improve the compatibility with TTexDump.
Remove unnecessary global variable and lock

gUtmpContents was used only as a data passing mechanism
between related routines and its content had a short lifetime.

This avoids having to put a lock in TUnixSystem::SetDisplay
and (trivially) avoid introducing a possible dead-lock with the lock
being taken as part of 'Warning'.

Conflicts:
	core/unix/inc/TUnixSystem.h
Reduce lock lifetime in TCollection::GarbageCollect

This avoid the potential for unnecessary nested locks
when/if the routine actually deletes the object.
Use meta-data mutex for the proxy initialization.

This avoid nesting the collection and the meta-data mutex.
Reduce lifetime of lock in TFile::~TFile to avoid lock nesting.

No need to hold the gROOTMutex while executing ResetGlobalVar.
Add SetNDC
From Gordon Watts: It includes a file that doesn't exist until after freetype is untar'd!
Use TStopwatch to measure wall time
Add information about max rates
Fix marker type for norms
Add missing protection
  Save information about the max rate

  PROOF queries show a maximum processing rate at regime related to the processing
  power of the cluster. This patch patch measures this maximum and stores together
  with the average rate, which includes end-of-query overhead.
  Average and maximum are now swon on the plots and TProfiles for the two set of
  values saved in the output files.
Add options to display the maximu rates
Add support for warm data reads
Add missing protection
Additional back compat fixes
Sync # of files generated/analyzed