Allow timeout arg on creating client

Let users define a timeout when creating a client connection to a remote server.