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.
Cool. Thanks for factoring it out :) I knew code could do better.. but didn't get how :(