Fix sigwait() error handling

These errnos aren't even possible here, it's just leftover
cruft from the conversion from sigwaitinfo().
Add EWOULDBLOCK where appropriate

For many calls that can return EAGAIN, EWOULDBLOCK signals
the same condition and can have a different value according
to POSIX.  On most sane/modern systems they have the same
value, but notably Linux/parisc has had different values for
the two up until very recently in order to be compatible
with old HP-UX code (this was fixed in kernel 3.14).