svc - Implement more features
* All stdout/stderr output now goes to a pipe and a pipe buffering thread
to read it into a circular buffer as well as write it to the log file.
The program is now able to retain ~8KB worth of output in its circular
buffer whether there is a log file attached to the service or not.
* When /dev/null is specified as the log file, short-cut the descriptor to -1
instead of actually writing to /dev/null.
* log, logf, and tailf directives now work.
* Properly escape '.' on a line by itself for all buffered data dumped
over a remote link (allowing logs to contain our command response
terminator).
* Implement -f (foreground option) and clean-up descriptor initialization.
* Implement -s (sync on exit)