refine the implementation of reverse_iterator, so that it complies to
the reverse_iterators of stl containers.