Set Low-Level Timeouts on Socket, Retry on Errno::ETIMEDOUT

Occasionally when running noeq-rb connect raises, Errno::ETIMEDOUT

* the low-level timeout is now set to 0.5 so this exception occurs faster.
* this error is now captured in connect, and the connection is retried.