Extracted 'inner' closure as a pickleable class, ParallelExecutor.

This change addresses the initial concern that the inner closure is not pickleable in #489, but issues still remain that the tasks themselves appear not to be pickleable.
Seems git wasn't smart enough to notice that this line here (266) changed in master. The master edition (full cache clear) needs to take precedence here. As before, I can do this when I merge if you don't get to it before then. Will probably happen after I get back from PAX (early Sep).