Update Identity v2

This is a consistency pass, by which I mean "rewrite", of the v2 Identity service.

Fixes #214.

### Remaining Work

- [x] Extentions resource.
- [x] Move the service catalog into the `tokens` resource.
- [x] Unit testing!
 - [x] Token creation, including all of the failure cases.
 - [x] Tenant listing.
 - [x] Extensions.
- [x] Update the openstack provider client to match.
- [x] Update the acceptance tests to match.
- [x] Delete the old, flat implementation.
:+1: