eof handling; drain + exit; verbosity; 54-compact
eof handling; drain + exit; verbosity; 54-compact

* track which fds are "active" using a bitmask
* track eof on read fds, call shutdown(2) on read side
* after eof on read side, and buffer is drained, call shutdown(2) on write side
* when all fds are inactive, exit
* if 'v' option is passed, turn on verbose mode
* verbose mode reports reads and writes on every fd
* fix various bugs

acg/iocopy,acg/iocopy,acg/iocopy