Add copy_backward and move_backward

This pull request also simplifies test::decorated_iterator