Package docs linter :lipstick:
gophercloud-wide authentication types.
The first identity v3 request.
TokenID(), not GetTokenID().
Move errors to their own source file.
Move the TokenCreateResult type to its own file.
Screw it exporting.

Otherwise we have no way to *set* those fields.
Authenticate by creating an identity/v3 Client.
Break the import cycle :wrench:

I'll have to bring in an interface if we add functionality to v3.Client for
use in the resource packages.
Make another package for unit testing helpers.
Stub out a provider-level Client for OpenStack.
A wild test appears! It's super effective!
Pretty-print JSON when inconsistencies arise.
Tests and bug fixes for UserID + Password.
Test Username+DomainID+Password auth.
Test Username+DomainName+Password.
Test Create with only a TokenID.
Unit tests for various Scopes.
First batch of failure cases.
Test the rest of the failure cases for Create.