Work/freebsd - handle ENOTCAPABLE

FreeBSD can return ENOTCAPABLE on systems with capabilities enabled.  This happens in the kqueue loop if the FD has been closed when the event is processed - the FD capabilities list is blank, so the request is rejected with ENOTCAPABLE.

This changes it to not be a fatal error, causing the IO loop to be aborted.