include/compat: Add missing win32 type and constant definitions
The following types and constants are not defined on Windows, for
which reason we're going to include them in compat.h.
* uid_t, gid_t
* sigset_t
* HOST_NAME_MAX
* O_CLOEXEC, which we're going to define as a no-op. By default,
handles are not inherited by subprocesses.
* SHUT_* flags
* loff_t
* __STRING
* EBADE, ENODATA, ESHUTDOWN, ESTALE, EREMOTEIO
* suseconds_t
* SIGKILL, SIGINT - we're mostly going to stub signal handling
on Windows
Also, we'll have to make sure that pipe_cloexec uses C style linking,
which would otherwise be affected as the include order changes.
timeval.tv_sec is defined as long instead of time_t on Windows[1], which
we'll have to take into account.