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.

I guess `machine` although there'll only be three classes there. The `basic` package is pretty busy already. I left it in `pool` in my commit, so you still need tom move things.