Fix in-between page seek

## Overview

This commit fixes a bug with seeks where seeking to a key between the end of a page and the beginning of the next page causes it to return nil. This was fixed by calling Cursor.next() when the cursor ends up between pages.

This also changes Cursor.Next() so that calling Next() at the end of a bucket leaves the cursor at the end instead of zeroing out the stack.

## Notes

This commit primarily refactors `Cursor.next()` out of `Cursor.Next()` so it can be used by `Cursor.Seek()`. The commit looks bigger than it really is.

---

Fixes #186.

/cc @PreetamJinka