Test for existence of indexes before adding

In case the indexes have been added to the jobs table manually
already, test for their existence prior to adding.
Allow a single worker process to manage multiple children

Rather than running N separate processes on a worker node to
process N simultaneous jobs, use a single parent worker process
which will poll for jobs and launch child process as needed up
to a maximum defined by conf value max_child_processes.

Includes a refactoring to clean up and separate the
single process and parent process worker code to eliminate
a lot of conditional code depending on configuration.

Also updated logging to be more consistent and to record worker
id, parent pid, and child pid (where applicable) to help with
tracing.
Merge pull request #343 from rackerlabs/test_for_indexes

Test for existence of indexes before adding
Merge pull request #344 from rackerlabs/single-parent-worker-process

Allow a single worker process to manage multiple children
use straight flake8 and fix all flake8 errors

RM 10100