Rework peeking_iterator; add some tests