Refactor Client into AbstractAsanaClient to support both Api and Oauth

All api commands are now in AbstractAsanaClient which is used by AsanaClient
for api key authentication and by AsanaOauthClient for oauth authentication
 * Updated the readme with details on using the oauth client
 * Updated docblocks