API for iterating over positions in an efficient way

`type positions``= t```
`type t`````
`val create : positions ‑> t`
`exception` `No_more`

Exception raised when the iterator has reached the end of the sequence.

`val advance_exn : t ‑> skip:int ‑> pos`

`advance t ~skip` skips the next `skip` positions in the sequence, advance to the next position and return it. Raises `No_more` when reaching the end of the position set.