DO NOT MERGE INTO MASTER - PGIA ForkPool WIP

This fixes the issues with the ForkPool so it actually runs. Note that
as the algorithm is still flawed, so is this implementation.

The overhead is about the same as using the ThreadPool. I haven't tried
limiting the number of tasks in the queue because it's trickier for a
ForkJoinPool, and fixing the algorithm means going in a different
direction.

Pushing for safekeeping.

[ci skip]