New 'fork_worker' implementation not based on multiprocessing.

If your rejester configuration says "worker: fork_worker", it will use
the new implementation.  This manually manages child processes using
os.fork(), and tries very hard to avoid various sorts of lockups and
lost processes.