Adds Generic Auth Concept to Client

API: Adds 'auth' keyword argument to SoftLayer.Client(). This object
     should respond to get_headers(). If just username and api_key
     are passed in, BasicAuthentication will be used for auth.
API: Adds AuthenticationBase
Merge pull request #89 from sudorandom/auth

Adds Generic Auth Concept to Client