Restore the existing behaviour of Socket::connect() with a 0 timeout
73ba5999186da82b444472170f7e0ce312ce536b rightly removed the code
duplication between `Socket::connect()` and `SConnectWithTimeout()`.
Unfortunately the two codes had different behaviours when connecting
in non-blocking mode with a timeout value of zero. The first one
just returned the socket descriptor on `EINPROGRESS`, rightly
assuming that a value of 0 for the timeout meant not to wait for the
connection to established, while `SConnectWithTimeout()` did not
handle that special case, because it was never called with a value
of 0 for the timeout duration.