Add Network.Socket.Types (internal reorganization)

This does not change the external interface, except for making a few orphan
instances available in Network.Socket.Internal that weren't before
(e.g. Num instances for PortNumber).
Documentation: listenOn returns a listening socket, not a connected socket
Request Winsock API version 2.2 instead of 1.1
Import rtsSupportsBoundThreads unsafe
Use #{const WSANOTINITIALISED} instead of hard-coding the constant
Network.Socket: factor out setNonBlockIfNeeded
Add throwSocketErrorCode, and use it in connect and accept

This fixes "no error" error messages on Windows when using these functions.
Add throwSocketErrorWait* guards

This commit assumes we no longer care about Hugs.  The code it replaces
apparently didn't either, since it was full of code like this:

    #if !defined(__HUGS__)
        throwSocketErrorIfMinus1RetryMayBlock "recvFd"
            (threadWaitRead (fromIntegral fd)) $
    #endif
             c_recvFd fd

If __HUGS__ is defined, c_recvFd won't have its error code checked at all.
Temporarily removed MIN_VERSION_base(4,0,0) reference
Fixed IP v.future bug reported by Eugen Kuksa
Add IRI test cases, but don't enable them; update test case build notes
Reinstate use of MIN_VERSION_base; update build notres to define on GHC command line
Tweak build comment