Switch to Optical Processes ON by default
Paving the way for more feature-rich sensitive detectors.

- GDML files now specify sensitive detector type in the auxiliary field
- Implemented a factory that will create sensitive detectors by the type
  specified in the GDML files.
- New class (forked from old sensitive detector class) that will the
  parent abstract base class
- SD manager updated to accomodate these changes too.
Removed old implementation of generic sensitive detector.

Two new classes containing the logic of the old implentation have been
added. At the moment they do nothing special, and serve just to return
the simulation to working order before these changes.
New option to specify output rootfile prefix
To avoid having to always add subdirectories. I moved everything under
the 'sources' sub dir, and modified CMakefile to just look for source
and header files there.

Things are now processed more automatically.

Also, to prevent multiple compilations of sources, I just moved
everything to a shared library. This is also for a future inclusion of a
personalized ROOT executable that will include the proper headers.
Massive re-implementation of sensitive detectors and ROOT file IO
Summary:
 - ROOT files now store instansces of VComptonG4Data classes.
 - Needed to update my FindROOT.cmake file to properly produce
   dictionaries.
 - Sensitive detectors now process hits through instances of specialized
   G4VHit classes.
 - SD now store a lot more information for every valid step in their
   volume into the tree.