Client timeout

Implementation of #55 Gist for documentation to follow.