[BREAKING] Split job runner into runner and executor

This allows the administrator the flexibility to run the job runner under
systems like Supervisor or daemontools.

Splitting the system up into two scripts allows us to easily test individual
jobs and also to exec a job using pcntl_exec without performing the brittle
acrobatics to avoid problems caused by fork without exec - namely having to
close and reopen the database connection.