SI-8428 Refactor ConcatIterator

Make the head iterator a constructor parameter, for easier
construction and implementation of ++.