HCAL reco speed up by David L.

This is a copy from https://github.com/davidlange6/cmssw/tree/hcal_speedups_141121 (https://github.com/davidlange6/cmssw/commit/477c4b2e1a9a69ddb59abb94dd0aeb42f1fbae18). For now the purpose of the PR is just to make the code available and ease the discussion. I am to comment more below but overall the code is a bit over 20% faster with minor regressions. 
I think it's an error.
The old code had everything in terms of "OffsetTemp + 25". There were two ifs: one  for at least cipSize, and one "between 0 and below cipSize". So, ``` else if ( OffsetTemp >= 25) ``` should be ``` else if ( OffsetTemp >= - 25) ```
It's a bit surprising that there is no large effect from this, maybe it's numerically small