Merge pull request #21 from flowroute/fifo

[DEV-278] Fixes 408 sent by timer causes "failed to send"
[DEV-279] Make sure fifo is non-blocking

My mistake. I had read that using O_WRONLY or O_RDONLY will make the
fifo blocking, but I had assumed if one side was set to O_RDWR then it
wouldn't matter. Using O_RDWR in all cases should fix the issue.