Some work on #655

The general strategy is to ignore what we can't do easily on Win32,
re-implement what we can easily re-implement, and work around all the
other little problems.

Other little problems include stuff like getaddrinfo, getnameinfo etc.
only being available if _WIN32_WINNT is >= 0x0501 (greater than Windows
XP). That's being resolved via include defines, which are unfucked as
of a recent commit (see #654).

There's now a `sdk-net` .use file in rock's directory, which handles
stuff like linking with `-lws2_32` on Windows, which is absolutely
necessary and was a pain in the ass to specify manually on the command
line back when the Socket stuff was in its infancy and still compiled
on Windows.

With this commit, stuff compiles, links, and launches but fails because
WSAStartup is not being called ever. I'll have to fix that.