Server pool entity

A basic implementation of an entity whose locations can be reused by other applications. Inspiration taken from @grkvlt's work on brooklyn-docker and brooklyn-cloud.

Comments:
* We should swap the use of the EmptySoftwareProcess for an entity that checks the location is still alive and publishes metrics.
* We could extend the pool to include externally-created machines.
* We could/should provide a basic policy to ensure the pool maintains spare capacity.

Setting status to null means that the entity won't be included in either `AVAILABLE_COUNT` or `CLAIMED_COUNT` if `updateCountSensors` is called before the entity is truly removed from the cluster.