Fix HCAL etaRange signature

Current HCAL TP code passes a signed `ieta` to towerEtaBounds, which passes this through to etaRange of the HcalTopology.  If `ieta` is negative, the sign of the result is reversed.  This currently fails for negative `ieta`, as etaRange will use the `ieta` as an array index.

Fix contains two parts:
* pass abs(`ieta`) instead of `ieta` to etaRange
* change the signature to indicate that positive values of `ieta` are desired
Please don't use C style casts. We highly recommend using static_cast<unsigned>(..) since you can't accidently cast to a type that can't be converted implicitly.