Adds tests for client module and refactors

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
Merge "Adds tests for client module and refactors"