Add client timeout to metadata hanging request

This ensures we don't hang even if the metadata server
does not honor the timeout we pass it. We don't need
to handle the exception as the daemon loop catches and
retries on all exceptions.
Jeremy's fudge factor idea is good. After discussion with him, the 60 second timeout change is also reasonable; apparently there wasn't a strong reason for 300 in the first place.

My question was going to be about whether urllib2.urlopen()'s timeout interacts badly with HTTP keepalive reuse of the same connection, but it doesn't really look like we're using HTTP keepalives anyway, so never mind that.

We can merge as soon as you address Jeremy's comments.