Fix IOCP.Windows build after huge changes from previous commit (rest of package needs to be updated)

This revealed a nasty reality regarding errno on Windows: since GHC builds with
MinGW, it doesn't know about the new POSIX compatibility errno values like
ETIMEDOUT.  This means the eTIMEDOUT value in Foreign.C.Error is almost
certainly going to be Errno (-1) (an "unsupported" or "invalid" errno).
This means applications will be unable to test for such error codes without
defining them themselves.  Also, I don't know what will happen if you use
these errno values with strerror on earlier versions of Windows.