add a BaseIter implementation for PriorityQueue
rm each method from the Map trait

the map types should implement BaseIter instead
implement BaseIter for TreeMap
make Option's map and map_default use a lifetime
implement BaseIter for SmallIntMap
add a ReverseIter trait
implement ReverseIter for TreeMap and TreeSet
implement ReverseIter for SmallIntMap
implement BaseIter for LinearMap
fix map tests
auto merge of #4835 : thestinger/rust/iterator, r=graydon

This adds a `BaseIter` impl to `PriorityQueue`, `TreeMap`, `LinearMap` and `SmallIntMap`, and introduces a `ReverseIter` trait + implementations for `TreeMap`, `TreeSet` and `SmallIntMap`.