Add optional connect/SSL handshake timeouts

This adds optional timeouts for establishing connections and completing an SSL handshake.
Is there a specific number for the `sslHandshakeTimeout` to never time out? Or is that not allowed?