Refactored InfiniteGenerator

It uses its own type of Supplier now
It is an iterable as well as an iterator
stop flow of the iterator by calling stop() on the generator
Removed BuiltCollection in favor of Iterables - no more streaming
SupplyingIterable