Cache oauth tokens locally and with Memcache.

This is an alternative PR to https://github.com/golang/oauth2/pull/42 which avoids protobufs.
We should use Fatal, or shouldn't ignore memcache.Set errors in FetchToken.

In most cases, tests are run by machines and they can't read English yet :)