fix(connection): set token expiration date for GCE

A response from the GCE metadata server responds with data in a
different format from that of the GAPIToken() request. Instead of
looking for a property that doesn't exist `token_expires`, we now
calculate the expiration timestamp from `expires_in`.

For more, see [Authenticating from Google Compute Engine][auth].

[auth]:https://developers.google.com/compute/docs/authentication#applications

Fixes #212
Maybe subtract like 5-10 seconds from expires_in to avoid using a token near the expiration?