Test for #202
Rely on Socket.open to raise an exception instead of using Timeout.timeout

Makes exception handling transparent.

Fixes #202.