modify TreeSet.MyIterator to support both ascending and descending iteration

This also fixes a bug such that the remove() method left the iterator
in an inconsistent state.
Merge pull request #114 from dicej/treeset-descending-iterator

modify TreeSet.MyIterator to support both ascending and descending itera...