Add timeout option

This is quite useful option from request object. Default value for socket termination is two minutes, that in some situations is too much.

All other methods in ClientRequest are very uncommon (imo) and if they are used for tuning performance - then it is better to use bare `http`/`https` modules or write own.
Because it will attach timeout only when socket is created, but it can take more time, that expected. `request` [does both](https://github.com/request/request/blob/master/request.js#L915-L935). Should we do the same thing?