just die on socket errors.

following the discussion at

    https://github.com/gugod/Hijk/commit/15c655c9854524e8ca64acad0c1403d254f6bdc6#diff-4d52833b8aa64cefe7650fe92f375da4R110

we decided that dying on socket errors (SO_ERROR) is OK.

However, then it makes it difficult to properly test a "connect timeout".
So we update the test suite accordingly to accomodate the fact that,
on some platforms, we die on socket errors (eg, No route to host),
on others, it becomes a connection timeout.

The platform-dependent behaviour feels odd, but packing one type
of error into other type of errors is not better.