Add socket_connect_timeout option.

This allows you to specify the connection timeout for the stream; note that once the stream is connected the existing code performs `stream.setTimeout(0)` thereby preventing this patch triggering an idle timeout on an established connection. (This is also why I called it `socket_connect_timeout` rather than simply `socket_timeout`.)

I added `this.stream.setTimeout` to `install_stream_listeners` as it seemed the DRY-est place to put it since it is called for all streams just after they're created. If this is not the right place, please let me know.