Optimise reading of fwd decls in rootmaps at startup

a pack of optimisations was put in place:
1) Fwd declarations are not processed one by one but they are accumulated in a
   single string, allocated once. The size of this string is rather big: 1 MB.
   Presently, the fwd decls of Atlas, w/o duplicates, in text, need 500KB of
   space: this is why 1MB was chosen.
2) In presence of duplicates, nothing is added to the aforementioned string.
   A hashed container is used for this.
3) String creation during rootmap reading was reduced to the minimum.
Some numbers:
o Testbed one: Corei7, kubuntu14, minimal root5 installation
  - time root -b -q: 0.08s
o Testbed two: Corei7, kubuntu14, minimal root6 installation
  - time root -b -q: 0.45s
o Testbed three: Corei7, SLC6, atlas rootmaps on afs, big* root6 installation
  - time root -b -q: 1.5s
Of these 1.5 seconds:
  - 7% is printing warnings about the numerous duplicates
  - 27% is the actual fwd decl parsing
  - 13% is reading streamer info from the root pcms (affected by ROOT-6632)
  - 11% is interpreter initialisation cling::Interpreter::IncludeCXXRuntime()

*
LHCb production installation