parallel: refactor Run

This makes it considerably faster and more memory efficient.
Merge pull request #83 from rogpeppe/005-faster-parallel-run

parallel: more efficient Run