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)
configs would be more readable if names were used instead of encoded ints. Since a conversion from string to enum is still needed at run-time, the impact is only on config readability.

@Dr15Jones @ktf do we have support for enums in python in a way that C enums defined in our code can be consistent with what will be  visible in python (even, imagine we make enum.py available)?