OSYSTEM: Added true reverse_iterator support to Common.list

ReverseIterator is defined in list_intern.h and a typecast is used in list.h
ScummVM builds correctly but most of the engines will fail due to
list.reverse_begin now returning a ReverseIterator instead of an Iterator.
I still need to do some unit tests to double check all the logic
Merge branch 'addingReverseIterator' of https://github.com/RichieSams/scummvm
OSYSTEM: Fixes a couple errors on the reverse_iterator as well as implementing reverse_end and comparison operators

After some finagling I got unit test to build. I had to edit the list.h test
to get it to follow the syntax of the new reverse_iterator. There are still
some errors to fix, but I want to commit