Connections timeouts

Adds a 10 seconds timeout to a connection. If data is read from the socket, the timeout resets to 10 sec.

If a timeout happens while reading or waiting for the headers, a 408 response will be sent and the connection will close.

If you call `Request::as_reader()`, you will have to handle the `TimedOut` error yourself. This may change in the future.

Closes #15