'Start the SSL MiTM.
This is non-blocking and will set the bridge_fns and select_fds as follows:
1. Start the SSL handshake with the server, ignore client data
2. On handshake completion call _on_server_ssl_established
3. Start the SSL handshake with the client, ignore server data
4. On completion call _on_client_ssl_established
5. At this point the SSL MiTM is set up and we switch back to bridging mode'

def start_ssl_mitm(self, client_hello):

    self.client_hello = client_hello
    server_name = client_hello.extensions.get(Extension.TYPE.SERVER_NAME)
    if server_name:
        server_name = server_name.data
        self.hostname = server_name
    self._start_server_ssl_connection(server_name)
