This commit adds a timeout for both establishing new outgoing and incoming connections. This timeout applies to everything until the connection is in a state where either JsonRpcConnection or HttpServerConnection takes over.