Cache oauth tokens locally and with Memcache.

This is an alternative PR to https://github.com/golang/oauth2/pull/42 which avoids protobufs.
It looks like there is token revoking:
https://developers.google.com/accounts/docs/OAuth2WebServer#tokenrevoke
but it is useful in this context?

Should that be a separate PR?