Cleanup generator retry logic from PipelineIteration, move it to Generator itself.

Using super.run() allows us to do profiled runs for generator retries.
Merge pull request #16 from Sanrag/move_generator_back

Cleanup generator retry logic from PipelineIteration