Locally cache oauth tokens.

This change is for both App Engine and Managed VMs so that these apps can scale without running into the app_identity_service quota limit due to calling appengine.AccessToken too frequently.  An added benefit of caching is that calls to Google APIs will be significantly sped up due to removing the round-trip calls to the api_identity_service.
Even though the Memcache service itself only takes about 16us to perform the lookup, making the Memcache API call involves running through the AppServer, and can sometimes take up to 100ms (or more!) to make the call depending on currently loading.  In my experiments, I found dramatic speedups by caching the token locally, and the amount of storage used is tiny.  I think it is very important to keep the local map.