Add PeekIterator that allow to evaluate the next element

@mlaflamm @alexbergeron @jgagnon1