Cache oauth tokens locally and with Memcache.

This is an alternative PR to https://github.com/golang/oauth2/pull/42 which avoids protobufs.
I don't know if there is a way to revoke a token.  I'll see what I can find out.