Moved internal class ArrayPool
More Lookup tests mirroring GroupBy tests
Rewrote ProgressiveLookup from the ground up

ProgressiveLookup is now on pair with ToLookup (by using GroupBy
internally), proper tests has been added.

A new way to create Progressors has been added, with its proper test
too.

Progressor are objects that allow to iterate over a data source while
caching the results. All the progressive classes gives a full interface
backed up with a progressor to get the needed information just in time
and only once.

Progressors can be shared among threads, each item will be given only
once. Two threads will not end up with the same item. A test for this
has been added too.