Add a put_back() method to the Peekable iterator.

Sometimes, rather than peek()’ing and then potentialy calling next() to go past the item you’ve already handled, it’s more convenient to call next() first and potentially put the item "back" in the iterator, to be consumed by another part of the code.

As shown in tests, the parameter need not actually come from the iterator, but it usually is in more typical usage.

(I assumed this addition was small enough to not need an RFC.)
I don't think this method should fail. It doesn't seem like the sort of method that should fail. It should perhaps instead return the existing saved value as `Option<A>` instead.