Only make a single call to GCE metadata servers.

This change creates a cache file in gsutil_state_dir that caches GCE credential metadata (not the actual credentials themselves).  This way, detection of the metadata server only needs to occur once, and network or service errors contacting the metadata service occur only on credential refreshes, which are automatically retried.