Add cyclic iterators and cyclic range view. Cyclic iterators wrap around when the reach the end of the underlying range over which they are defined.