Removed the need to specify a tenant_id for authentication.

Occastionally, it is desirable to authenticate with an unscoped token in Keystone.
This patch removes the need to specify a tenant_id when authenticating with a username and password or a token.

To remove the necesity for a patch, some of the safegaurds were remove from base_identity.

To Manually Test:

1) set_credentials with a username and password (do not specify a tenant_id).
2) Ensure that pyrax.identity.authenticated returns true.
3) Grab the auth_token from your previous authentication.
4) Unauthenticate your previous user.
5) Use auth_with_token.  Do not specify a tenant_id.
6) Verify that the two tokens are not the same
7) Verify that pyrax.identity.authenticated still returns true

A unit test was also provided for token based authentication testing.
A unit test was removed that checked the raised error for missing tenant_id.