Add timeout to client.wait()

When waiting for a container to do something I found it useful to be able to give a timeout.  If specified, an exception will be generated when the timeout occurs which will allow my code to handle it accordingly and move on.