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

...tion

This also fixes a bug such that the remove() method left the iterator
in an inconsistent state.