Fix reverse iteration edge case

Currently reverse iteration doesn't work when the reverse iteration starts at the first element in the db.

This PR fixes this by only resetting `this._pos` in the constructor if it hasn't been set before (before it was also reset when it was zero).

I've also added a simple test case to illustrate the issue.