Support for cycle

 Takes an iterator and cycles through its elements a given number of times

 If working with a generator it is best to make it rewindable if the expected
 number of elements is large

 Examples:

      iter\cycle([1, 2, 3], 3)
      => iter(1, 2, 3, 1, 2, 3, 1, 2, 3)