Switch partitioned alarm evaluation to a hash-based approach

Short version: make use of the new distributed workload partitioning
utilities in Ceilometer to simplify the alarm evaluation
partitioning. Code is intentionally non-consolidated to enable
easy deletion of 'singleton' and 'partitioned' services in the Kilo
cycle.

Longer version:
The assignment of alarms to individual partitioned alarm evaluators
now follows the same pattern as the division of resources between
scaled-out central agents.

The evaluators each join a tooz group and emit a periodic heartbeat
to tooz. Tooz provides distributed group membership information.

Thus the set of evaluators share minimal knowledge, but this is
sufficient to guide a hash-based approach to determining whether
an individual alarm UUID falls under the responsibility of an
individual evaluator.

The current RPC-fanout-based presence reporting and the master/slave
division of responsibilities can be dropped in the next cycle.
Also the rebalancing logic when a certain threshold of alarm
deletion is crossed will no longer be required.

DocImpact
Change-Id: Ica8dae569f9ff1c2f8fe58be6ae2def66be0da54
Implements: blueprint hash-based-alarm-partitioning
Merge "Switch partitioned alarm evaluation to a hash-based approach"