Add Collection::previous()

For symmetry with Collection::next() I suggest adding a new method, Collection::previous().

Some iterators may be optimized against iterating over the elements one by one using next(). However, the Collection interface otherwise assumes that the collection is random-access, so implementing the new previous() method should not be difficult.