Add a .peek_clone() method to std::iterator::Peekable

… that copies the returned value, and thus does not freeze the iterator..
extra: Port treemap to PeekableIterator