Make waiting_for_children interruptable.
Refactor into a file structure that resembles RQ more.
Unify the interface of calling main_child().

This passes the main_child method a function called mark_busy, which
must be invoked right after a job has been popped off the queue.