Changes to prepare the integration of the Tracker upgrade geometries

New GeomDetEnumerators and GeometricDet enumerators have been added to host the tracker upgrade subdetectors. 
The building of the TrackerGeometry object is less hardcoded and depends on the enumerator values
New methods added to the TrackerGeometry object to provide, for each DetId subdetector index, the subdetector type (through the GeomDetEnumerators) and the number of layers in the subdetector. In addition the method "isThere" has been added to allow to check if a specific subdetector is in the geometry. This should allow to get rid of the several ad hoc configuration parameters to deal with the upgrade geometries.
The rules to code and decode the DetId schema are now completely configurable. Different detid schemas have been introduced for phase 1 and phase 2 geometries (in preparation for the integration of the upgrade geometries). 
Added new CmsTracker…Builder's to ease the modularity with respect to the upgrade geometries. Now all the branching is based on the value of the GeometricDet enumerators.
The same approach has been followed for the construction of the TkDetLayers tree.
Replacement in many places of the checks on the DetId subset with checks on the GeomDetEnumerators (but the work is not finished…). Migration from the static DetId classes to the TrackerTopology class (but the work is FAR from being finished). Added useful static methods to discriminate on the GeomDetEnumerators: isTrackerPixel, isTrackerStrip, … and modified the implementation of the corresponding methods in GeomDetType to profit of them (the GeomDetType is not always available). 
The present tag is expect not to change ANYTHING in the workflow output as the corresponding (still) unpublished changes for CMSSW_6_2_X_SLHC are expected not to change anything in the upgrade workflow (unless the version with the new phase 2 detid is used).
They are such in PixelForwardLayer.h where I got them from.