Prepare for better Octets-based file support.

Files do not require kevent entries, or at least on Darwin they are broken.
That is, listening for events on normal files will cause the event to be perpetually
returned. This is not desired as it causes the event loop to fall through immediately.

Prepare for file support by conditionally adding the file descriptor iff it's not a
regular file.

This required a change to how kevent slots are managed, but for the better. Now, kfilter()
methods explicitly state whether or not the slot was used. The caller then uses this
information to bump the ksize field. (commit vs abort)

Files don't terminate when EOF is reached. This is not ideal for Octets so check for an
EOF position on the EAGAIN errno. POSIX spec states that this error is thrown on regular
files with O_NONBLOCK set on their respective FD, so use this to check for a terminal
condition, EOF.
Finish regular file support.

Required a new teq_requeue flag to signal finish_cycle that the transit should be
enqueued so long as the transit is not terminating or its buffer has been exhausted.