Update to DefaultHttpRequestFuture to close the connection on request timeout

The connection was not notified of the request timeout, so was kept unavailable in the pool. If a response came later on, that probably freed the connection in some way, but if the response was never received, like when a firewall burns it, the connection was sitting there forever.
I've added the fix to both setFailure implementations just for coherence, although only the first one is invoked on timeout, currently.