Use a process pool instead of a thread pool.

Seems to give a big speedup, but there is some awkward code duplication.
(It's less straightforward to share state with process parallelism, so
I thought it would be simpler to be able to do the query given just the
benchmark name as a string.)
Will try and fix later.