reset() should trigger exit from leaf up

The reset() function documentation describes that it should trigger the exit from leaf up the ancestor chain. However, it was doing the reverse. I added some assertions to the reset-test to make sure that this works as described.
Additionally, I removed the second call for reset() since the tests seem to work without calling it twice. Possibly a previous bug?!