Adds PolicySpec

- so that one can specify policies on an EntitySpec, e.g. in a
  DynamicCluster where the entitySpec will be used to create
  multiple entities
Custom cassandra MultiCloudSnitch

- this needs to be put into the cassandra code-base, and a
  pull request created for it there.
ServiceReplacer: avoid infinite loop

- if starting a replacement keeps on failing, and we keep getting
  events about the failures, then don't keep responding to the events.
  Instead abandon attempts if more than a given number of failures
  in a given time period.
Fix type in SoftwareProcess: "start" was called "stop"
Fix for deadlock in sun.reflect.annotation.AnnotationType

- See https://github.com/brooklyncentral/brooklyn/issues/974
- only call contextBuilder.build() once at a time
squash ServiceReplacer infinite loop
CassandraNode: snitch config and MultiCloudSnitch

- Correct private/public IP for Ec2MultiRegionSnitch
- Support for custom MultiCloudSnitch
-- including upload of MultiCloudSnitch jar, if configured
- TODO have checked in jar for MultiCloudSnitch (tut tut)
  as resource so it can be uploaded
Add CassandraCluster.DATACENTERS attribute

- the set of datacenters (as opposed to DATACENTER_USAGE which is
  a multi map of datacenter names -> entities)
Remove unused CassandraClusterImpl.sshFeed
Add CassandraFabric (for wide-area cluster)

- CassandaCluster configurable with SEED_SUPPLIER
- CassandraFabric aggregated seeds from clusters
CassandraCluster app variants

- simple, high-availability and wide-area cassandra clusters