Massive update to the parallel collections, using iterators (lazy) to walk through the collection and removing the need to check the size of the collection before hand. This way the parallel extensions should be a lot faster.