HTTPS support

Looking over [the docs](https://nodejs.org/api/net.html), it seems like you should be calling the callback function on error or timeout with the error, but instead of doing that you're expecting there to be an exception. The docs don't seem to indicate that. You've attached a listening to `"error"` event, so that function will be called. I don't think an exception will be thrown, and so the callback will never be informed of error.

Also, there is some redundancy in how you use this function. For example, in `https.coffee` you do:

```coffeescript
        libHTTPS.getStream "127.0.0.1", httpSettings.port, (err, stream) ->
            if err?
                tlsLog.error gLineInfo "Tunnel failed: Could not connect to HTTP Server"
                c?.destroy()
                return stream?.destroy()
```

But you already call `.destroy()` in the `s.on` handler here.