add a ReverseIter trait
implement ReverseIter for TreeMap and TreeSet
add an OrderedMap trait