OpenStack identity provider

Provide an implementation of `IIdentityProvider` which works with reference OpenStack installations (specifically, allow the `tenantName` and `tenantId` properties to be set as part of the request).

* Closes #102
* Fixes #179