Cursor helper functions

Adds some extra helper methods to cursors so that you can get the value and the key from `ol_bucket` structures without reaching into the struct itself. Also decompresses and whatever.

Included are some refactors and some hygiene stuff around `ol_stack` which makes it immutable once things go into it.