Converted the CompositeIntervalGenerator to an Iterator. I honestly
don't think it particularly matters- I chose to use generators
because I was thinking it might be nice to have an easy way to
restart a sequence, but that was probably just premature thinking.

Really, it's just a question of where our state is managed- internally
in a generator or internally to a class instance. I'm indifferent on
subject.
Added note to comments on the base composer.