Fewer warnings, and correct str::each_char_reverse behaviour

Kills some warnings, and implements str::each_char_reverse so that it actually iterates. The test case wasn't detecting a failure, since the loop body was never executed.