alterations to logging in SelectionSignaller: add logging to the disbatching of individual events, and switch logging statements around lifecycle events (those that occur even when no events are returned from selecting) to trace level instead of debug.
add logging to WorkTargetChannelCloser
Fix WorkFutureLatched's time-limited get method to actually throw timeouts correctly
Merge branch 'thio' into io-mk3
attach default failure loggers to schedules set up per unit in IOSystemTest.   also enable periodic flushing on the main scheduler -- this should not be required and will be removed again at a future date, but is currently handy for debugging and is set at an extremely low rate so that if it is relied upon for successful passing of a test then the test will be quite visibly slowed.
I have no idea why I made that odd logger name choice for WorkTargetChannelCloser; fix that, there's no reason for it to be so misleading.
Fix several situations where CancelledKeyExceptions were coming from out-of-ordered selector update requests; these should be harmless but were killing the work target for the selector.
several inline comments about design.
Move ChannelReader and ChannelWriter implementations into their own public classes and package.
Create implementations of NoopFrameReader and NoopFrameWriter, and an implementation of the abstract IOSystemTest to hit them.