Pipeline iteration builder

This allows for PipelineIteration instances to be constructed in a much more flexible way making it a general use pipeline framework.

This pull request is based on https://github.com/sladeware/groningen/pull/17 and will go after it. Please only review  https://github.com/Sanrag/groningen/commit/71dcda98efc473d446b2cd7a913f52af0160aaa4 for this pull request.