Properly reset the timeout after a connect

Previously, if the read timeout was not set, or set to None, we would not reset
the timeout on the socket, so the read would get the same timeout as the
connect timeout. This resets the read timeout in every case.

Fixes #261