Commit adding proper multihreading support, and better penumbra histogramming.

Changes in this update:
- Switched out old C++03 map functionality with c++11 unordered_map,
    much faster and less painful to work with, but still uses very little
    memory until the dosel is filled.
- The switch is done by substituting the classes in Histogram.hh for those in
    LowMemHist.hh - with some assorted changes to the messenger and detector classes.
- Switch to unordered_map required change in CMakeLists.txt to add the
    -std=c++11 switch to the compiler. Have to be careful about the
    order, because Geant will try to use -std=c++98
- Added better penumbra functionality. Previously the dose was collapsed in z,
    which is pretty much exactly what isn't wanted. I'm fairly sure the penumbra
    now gets histogrammed only at the depth asked for - within 2mm either side
- Added funstionality to record LET, though this should be considered experimental
    I have a problem with a very few inelastic scatters that deposit huge LET.
    I'm looking into this...
- Modification to DataRead.py to show how to normalise the depth-dose curves to the
    maximum dose from that radiation
- Modification to testmac to reflect the changes needed to use the new histogramming
    scheme. The particulars are explained in a comment
- Added some explaination to README.txt