Even and odd numbers to distinguish page types.

Branch pages are even numbered and leaf pages are odd numbered. Required
changes to the allocation of page numbers. Also, in order to get one
test to pass, I'm now unshifting merge operations and split operations
onto the list of operations, instead of pushing them.

Merge order was reversed for `t/lock/purge.t.js` causing a different
tree outcome for the merges. Using `unshift` put the order back the way
it was. Then I used `unshift` for splits so's to be consistent.

This makes me want to find a way to make the balance even more
deterministic, sorting addresses, iterating over sorted lists of keys,
instead of using a `for...in` loop.

Some tests that measured the JSON size were adjusted.

In `t/proof`, we no longer negate leaf page addresses when writing them.

Closes #128.