Changing parallelism scheme

Changing the parallelism from foreach-skip-based to for-indexed-based approach.
It's perhaps inconsistent, but when I declare anonymous delegates the opening brace is always indented. To keep things consistent with the rest of the code, go ahead and indent here and in other similar places. The more important reason to do this is that it will clean up the diff -- notice the large deleted (red) and added (green) regions that don't reflect your actual changes? If you indent as suggested they will go away and you'll only see the lines you changed.