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.