Added vio::fifo::host and vio::fifo::join opening a fifo with
either O_RDONLY or O_WRONLY, respectively, while vio::fifo::open
uses O_RDWR which is Linux specific.

Still need to handle EOF appropriate at vio::(io/file/fifo).
ctor's of vio::fifo are now invoking POSIX compilant
vio::fifo::(host/join) methods instead of vio::fifo::open.