WIP: Refactor auth (Not Ready For Merge)

TODO: Still adding tests, presently 44% coverage mostly focused around Auth and low hanging fruit

- Converts the deuceclient.auth.auth.Authentication into a Abstract Base Class with a small interface called deuceclient.auth.base.AuthenticationBase
- Introduces deuceclient.auth.openstackauth.OpenStackAuthentication which implements authentication using OpenStack Keystone Client.
- Introduces deuceclient.auth.rackspaceauth.RackspaceAuthentication which implements OpenStackAuthentication with a default endpoint of Rackspace Identity
- Fixes shell to be able to use the new authentication engine