http: don't emit timeout twice

If emitTimeout is passed to deferred setTimeout call, it is considered
as user's callback function and attached to 'timeout' event.
Thus single socket's timeout event might cause two (or even three)
events to be emitted by ClientRequest.