Initial sketch of the frontend/backend manager

Taken from https://gerrit.wikimedia.org/r/#/c/95644/

Introduces a master that can spin up worker threads and can
restart them on failure.

The frontend worker can accept jobs and spit out status. I
haven't tested it but it should be able to stream a final file
too.

The backend is still a sketch; but it shows how we can extract
jobs and run them.

Change-Id: I32ce0e7c9e28f6740429e096261879e7664e7af2