reimplement Parallel.forEach() to use ProducerConsumer
Merge pull request #1 from mo-getter/perf/parallel-using-PC