Introduce iswouldblock to cope with POSIX not specifying which of
EAGAIN or EWOULDBLOCK you get). In various subsystems, make more fds
nonblocking and handle errors appropriately. Specifically:
* Logging self-pipe reading end.
* Signal self-pipe reading end.
* SLIP both ends. Fixing the writing end involves breaking out a new
function slip_write. We have to set these nonblocking after reading
the confiramation byte.
* tun's network interface fd.
In various of these we add code to handle EINTR, too.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>