Cluster summary rewrite

The ClusterSummary and ClusterSummaryProducer classes were updated to improve performance, as documented here:

https://its.cern.ch/jira/browse/CMSTRACK-51
(https://indico.cern.ch/event/322710/session/5/contribution/2/material/slides/1.pdf)
Automatically ported from CMSSW_7_2_X #5136
Please don't use cout in mainstream code; use the message logger (LogInfo would do).
Is this runs in multiple threads, quite likely the output will be garbled