new Phase2TrackerDigi dataformat

The Phase2TrackerDigi is designed to store raw digis for both PS and 2S modules.
Since data is digital, only the position of the hit is stored.
Position has 2 coordinates: row and column, or alternatively strip and edge.
The current implementation works for up to 32x1016 cells.
new Phase2TrackerCluster1D dataformat

That dataformat is designed to represent 1D clusters, as found in strips.
Compared to the SiStripCluster, there is no need to track strip charges, which makes the barycenter calculation simpler.
Also, the reference point (beginning) is a 2D digi for phase2.
New Phase2TrackerCluster2D dataformat

Phase2TrackerCluster2D are representing a 2D cluster made of digital digi.
Each cluster is defined by its anchor point (a digi) and a set of 2D offsets.
It has a size, and a position.
new Phase2TrackerStub dataformat

This simple dataformat is to hold the stubs as they come from the hardware.
Therefore, it has no reference to sim objects, nor direct links to digis or clusters.
New cabling classes for Phase2 tracker

Created a new Phase2TrackerCabling and Phase2TrackerModule objects to hold the relations between detid, gbtid, fedid, cooling and power.
The next step is to create a ESSource to fill the object (first from ParameterSets, later from db). It will then be used in the new
phase2 unpacker.
First Phase2 cabling object ready to be used in ESSource

A single simple ESSource is implemented for now. It is similar to a "Fake" source and reads the intended cabling from the cmssw cfg.
Validation of the new Phase2 cabling object

CheckPhase2Cabling has been added to the tests of CalibTracker/SiStripESProducers.
It allowed to validate the concept. On that occasion, few adjustments were done and new methods to print the cabling introduced.
Thread-safe version of the phase2 cabling

Since the cabling may be accessed via diverse threads, it is not possible to use the mutable
keyword in it. Changes were made to pre-sort three vectors of indices at construction time.
After that, the object doesn't have to be altered.
Remove dataformats in development that are not needed for the unpacker.

This removes cluster 1D, 2D and Stubs experiments, corresponding to the following commits:
commit 72625f03b331778de92bcd50dfd89bcd992693db.
commit bdbaf65b5e72f6ae4e0b78f958d729d7cd23e41b.
commit 4ad99728850d750459dfd39d3960024fd080b115.
comissioning digis with proper naming
added commissioning digis for phase2tracker
added Phase2TrackerRawToDigi
switched to Phase2Tracker Digis
correction on redundant checks
first version, with vertex, TrkMET, TkEm and TkEleTracks (from latest 61X code)
introducing cabling from config file
some cleanup
Merged phase2tk_unpacker_jdf from repository jdefaver
first version for distribution. Added jets and HT and EleStubs + cleanup
Merged refs/pull/3714/head from repository cms-sw