Massive HGC Clustering speed/memory improvements

Clustering memory footprint reduced by multiple gigabytes, clustering itself now causes little memory blow-up, O(100 MB) or so, down from 3/4 gigabytes from using a dense matrix.
Clustering timing improved by a factor of ~100, i.e.  hour/event -> 30s/event spent on clustering.
Clustering performance appears the same looking at a limited number of events. EM clusters are formed correctly, charged pions look fine, simple jet gun multi-particle response is as before. 
No changes in energies.

With DQM the event time in TTBar + 140 PU is at ~5 minutes per event. 
Is this OK for now?

NB: I had to turn off the gsf electron tracking since there's no notion of preselection for the HGC clusters. This was causing the electron seeding and track fitting to run very slowly.

@vandreev11 @pfs @amagnan @bsunanda