Improve _http_agent timeout handling

* move all connect timeout related logic into a single block

* call socket.emit('error', e) with an error object

Change-Id: I3bd49a4b0b436bd80dbcd919d08018eb365a7635
Merge "Improve _http_agent timeout handling"