Optimize reversed(range(...)), with negative steps

This should work for every case now. It passes the set of test cases you added, and all the test cases that I made in response to the previous failure.