Make the tests pass on Windows.

Windows can't stand high arguments to listen.

The reuse socket options doesn't work on Windows.

"ip6-localhost" is not defined on windows, use localhost instead.
fix openTCPConnection on Windows.

The problem was that getAddrInfo doesn't initialize the socket library
implicitly. If that is the first thing that is done with sockets, then
the program will crash and burn with a misleading error message.

The initialization is done only once, so the cost of a superfluous call is
minimal. It is a no-op on other OSes.
Updated cabal dependencies

...doesn't build here without those modifications.