Refactor tests to pull common cases for two reverse functions into common code.
Build refactored tests into tests for reverse_new, implement
reverse_new to pass them.