strerr: Remove unused declarations
strerr: Add strerr_warn#sys macros to parallel strerr_die#sys
strerr: Include ": " separator automatically in sys error message

This fixes a few error messages that were missing the separator, causing
messages like:

installer: fatal: unable to write multilogtext busy
Add fifo program.
fifo: Be smarter about dealing with SIGCHLD.
fifo: keep stdin open and add anything read there to log stream also

The problem with closing stdin, as originally done, was that the pipe
from the parent daemon process still exists, although we've closed it
and are thus no longer reading it. If the parent tries to write to that
pipe it will hang.
fifo: fix message intermingling from stdin and fifo

Switched from a two-buffer shuffle to per-stream dedicated buffers.
Originally both stdin and fifo fed into a common input buffer which was
swapped with an output buffer at opportune moments. Problem was that
messages could mangle each other any time partial reads or writes came
into play. Now each input stream has its own buffer which the output
routine can write directly out of.
fifo: fixed bug in intermingle code where circular buffers wrap around