Detach servers (remove from group without removing in Nova)

This adds the "detach" feature to the API.

- I used the term `purge` to mean "also kill the machine in Nova". I started with `delete`, but it seemed really awkward to have a DELETE request that is documented as deleting a server and then has a `delete` query argument...
- I spent a good chunk of time cleaning up the tests and fixing docstrings. It would be useful to give those a close (review) inspection to make sure I didn't screw it up.
As per Jira ticket we thought of having separate endpoint `"POST ../groupId/servers/serverId/detach?replace=true"` to avoid user thinking about 2 * 2 matrix when giving both arguments. Any specific reason why you decided to do it like this?