Update CaloTowers for hcal flexible segmentation in Phase 2

Upgrade CaloTowers:
flexible ieta, iphi, depth values
ieta values are continuous; may not match HCAL ieta (Phase 2 HCAL ieta is not always continuous between subdetectors)
topology and geometry stored in ES records, dependent on HcalTopology
EE cells mapped to HE towers using getClosestCell() from geometry for Phase 2 HCAL (preliminary method)

This is a rather large pull request.