libc.*, unix.*: move constants and functions from the unix namespace to libc

The E* errno and SIG* constants are defined on Windows too, so they
should be in the libc vocab which is available there. They will be
used for SSL error handling.
io.sockets.secure.*: unification of lots of platform-independent code

Code that is duplicated in the backends moved to
io.sockets.secure.openssl. The wait-for-fd verb used by do-ssl-accept
doesn't have any equivalent on Windows so that needs to be
implemented.