Add a timeout for GCE detection.

This is a temporary workaround for #93, though may end up being the final fix.

I did some test cleanup while I was here, switching to `mock`.

PTAL @dhermes
Pretty silly to call it short-term and not give a date. I'd suggest either not mentioning that it's short term or giving it a timestamp (I know a `git blame` or other could locate the time, but people won't do that).