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.
> Does that thing also grow a replace query argument, or do we simply not support replacing when detaching, or only support replacing when detaching?

`replace` will be supported with detach too.