Connections timeouts

Adds a 10 seconds timeout to a connection. If data is read from the socket, the timeout resets to 10 sec.

If you call `Request::as_reader()`, you will have to handle the `TimedOut` error yourself. Maybe this will change in the future.