Refactor problem 2

Replace the hand-rolled Generator implementation with GeneratorOf<Int>.
Add FIXMEs
Clean up problem 1

Filter returns an array. Replace it with a lazy sequence.
Use shorthand argument names in the closure passed to filter
Make takeWhile lazy

Rather than return an array, takeWhile now returns a view into the original sequence. There ought to be a helper function for creating lazily-evaluated views into sequences….
Merge branch 'problem-2-refactor'