Merge pull request #43 from mjibson/master

SoundCloud and spelling fixes
Update metadata server URL to be a FQDN.

Without a fully qualified domain name, containers (like Docker) can't
connect to the metadata server. Update the address for the metadata
server to be a FQDN so containers can use the library. See #44.
Merge pull request #45 from secondbit/master

Update metadata server URL to be a FQDN.
Support token expiration for Facebook OAuth 2.0.

Facebook's OAuth 2.0 implementation seems to be broken and
returns expires_in value in expires. Fallback to expires field to
handle the expiration time for Facebook.
Handle non-2xx for metadata server responses.
Allow users to get extra fields from a token response.
Build against the appengine runtime.
Merge pull request #47 from rakyll/build

Build against the appengine runtime
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.