Return EINTR after interruption in Awaiter test

POSIX specifies that the pselect function should fail with EINTR after a
signal handler is called during the wait.
Check for error after pselect in Awaiter

According to POSIX, the file descriptor set contents are unspecified
after the pselect function failed, especially after it was interrupted
by a signal. We must ignore the sets in that case.
Clarify support for invalid file descriptors in Proactor

The Proactor::expect function now explicitly requires that all the file
descriptors specified in the trigger set remain valid until the event is
fired. Previously, this requirement was unclear in the documentation.

This requirement is imposed because it is not very practical for the
Awaiter implementation to handle the bad_file_descriptor (EBADF) error
that may be returned from the underlying pselect function. The pselect
function does not tell us which file descriptor was invalid on the
function call and therefore Awaiter cannot instantly identify the
trigger set that contained the invalid file descriptor.

Also note that checking file descriptor validity in the expect function
does not keep the pselect function from returning the error because the
file descriptor may be closed after the expect function returned.