windows: Provide a poll(2) wrapper calling WSAPoll()
libradius: Use poll(2) to wait for RADIUS responses
tun-device: Remove the superfluous use of select() before read()
socket-default: Use poll(2) instead of select

It is not only simpler, but also allows the use of arbitrary high fd numbers,
which silently fails with select().
libtls: Use poll(2) instead of select() in tls_socket
watcher: Use poll(2) instead of select
kernel-libipsec: Use poll(2) instead of select
thread: Test for pending cancellation requests before poll()ing on OS X

As we are now using poll(2) instead of select(2), we need the work-around from
76dc329e for poll() as well.
unit-tests: Test cancellability of some cancellation points we rely on
windows: Provide a read(2) wrapper that uses recv(2) on sockets
windows: Provide a write(2) wrapper that uses send(2) on sockets
watcher: Use Windows read/write(2) wrappers instead of compile-conditions
apple: Introduce a central compatibility header with all __APPLE__ quirks
windows: Move the compatibility header to the compat subfolder
apple: Wrap accept() and recvfrom() with poll(2) instead of select