Refactors client/get_client() function into separate
client/_get_client_with_token() and
client/_get_client_with_credentials().
Refactors some dict manipulation from test into tests/utils.
Raises ValueError in client/get_client() when kwargs
do not meet requirements.
Adds tests for client/_get_client_with_token()
Adds tests for client._get_client_with_credentials()
Adds tests for client/_get_token_and_endpoint()
Adds tests for client/get_client()
Adds test for client/Client()
Change-Id: I25e2d1df6b68c5d3cbd5cd1de5cf3c2df5828d4e