Terrible commit: remove threaded reaper; use SIGCHLD handler.

Trying a different approach to reaping subprocesses (still avoiding
keeping a list of pipes and don't want to explicitly set SIGCHL to
SIG_IGN to autoreap...). Now the signal handler only handles
SIGCHLD. In sigaction set some flags to allow for a more graceful
restart after interruption and to ignore non-termination SIGCHLD
signals. There is no more global jumpbf.

Established a timout for the client connection poll, currently at 4
seconds. There is an oddness with the logging from the timeout return
that is causing a race condition between the logging output and the
process reaping... still figuring this out; (poll timout delivering
termination-level SIGCHLD would explain it).

The SIGCHLD causes a system call interrupt the listener poll (and
other places, obviously), so am explicitly catching the EINTR error in
the poll loop and NOT reporting that as an error, because it gets
annoying to see "Interrupted system call" every time a child process
terminates correctly. This is for development purposes--in future it
SHOULD be reported and be the only error that continues.

The reason this is a terrible commit is because I stupidly indented a
huge amount of code that was misindented, and so committing these
changes in a nice encapsulated way became impossible.