Fixed *Client.Connect() to properly handle cancellation around the socket.Connect()