fork child process for processing job.

This patch is to enable forking of child process for processing the
given job. The forking of child process can be enabled or disabled using
the qonos worker config param flag, 'fork_child_process'. By default
fork_child_process is disabled ie., set to 'False'.
What if the processor is being stopped due to a non-signal reason? I can imagine scenarios where a processor may find it more convenient to stop itself via this method (detect an error deep in a chain of calls and use this to gently stop rather than bubbling up an exception or some long change of returning an error code etc.) The signal handler in the worker has already logged the signal. This method should be independent of the cause of the stopping. However if we do want to log something here let's have an optional "reason" parameter which could then be logged if provided.