Original version by Matt Wright.
Heavily modified (to use the gcloud driver and gce conventions) by
Errata: I am quite sure gs instance metadata is not working in this
Also, for whatever reason, I had a hard time getting blob
upload/download to work, so everything is done via signed URLs.
Since httplib2 is not thread safe we encapsulate the Http object so
that every request() call goes to a thread local Http instance.
This requires some funky calls to the internals for gcloud connection
instance to initialize the credentials correctly. There might be a
cleaner way to do it.