SI-6642 Adds iteratorFrom, keysIteratorFrom, and valuesIteratorFrom

SI-6642 Adds iteratorFrom, keysIteratorFrom, and valuesIteratorFrom

Adds the ability to efficiently create an iterator that starts at a
given key or element of a sorted set or map. Similar work is done for
key and value only iterators on maps.

The heart of the work is in RedBlackTree. Most of the rest is pushing
the new api methods throughout the appropriate spots in the collection
API.

Along the way mutable.TreeSet is reimplemented in terms of
RedBlackTree to eliminate code duplication and improve efficiency.

review @adriaanm