Windows returns WSAEWOULDBLOCK on a connect() attempt on a nonblocking socket. Also wrap socket error handling so errors are correctly reported on Windows. Fixes #19.