Google OAuth 2.0 API

This commit adds support for Google's oauth 2.0 workflow while avoiding to make scary changes to the rest of the APIs like previous attempts.

It uses an instanceof check to construct an access token request specifically for google's oauth 2.0 endpoint. 

This hack is ok for just this instance (google is a big service, it is worth the ugliness required to support it) but will not scale if other's start adding hacks for each and every Api. If you're interested I have some ideas on how to make this more flexible and scalable.