Refactor auth

54% Test Coverage (100% of auth related code)
Major refactor of the authentication mechanism for better re-use and extensibility

- 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