Reduce instance metadata request timeout to 2 seconds.
Parse errors from response body.

Human-readable printing of error messages, and
error codes are now included in response errors.
Use get request instead of head for better error messaging.