Return a failed future instead of throwing exceptions on connection failure.

This makes life much easier for users, who can assume that 'go' will not throw
exceptions in situations where the internal state of the http client is okay.
Merge pull request #11 from metamx/friendlier-go-errors

Return a failed future instead of throwing exceptions on connection failure.