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.

This is insignificant if request.setTimeout() method is used, which does this.once(), however could be noticed with code like this:

```javascript
request.setTimeout(value);
request.on('timeout', callback);