Remove execute_on_subproc and background subproc pool

Turns out we didn't get the parallelism we wanted with threads making blocking calls to subprocesses.

Re-using the subproc_map that is used in cache reads, and sending the whole call as a single piece of Work,
gets parallel compression and uploads, though at the expense of slightly less granular reporting. It also
turns out that separate process pools for aren't that useful, and slows down startup/shutdown.