One way to set pivot key after leaf merge.

When merging leaves, we now peek at the right sibling leaf page of the
right leaf page of the merge using a shared lock to get a key that could
be used to replace the pivot. This was documented in the Docco at the
last commit. I've tidied that Docco for posterity.

Merging branch pages requires reassignment of keys as well. In the case
where the pivot key for a branch page merge is not in the parent branch
page of right branch page of the merge. When the right branch page is
merged into its left sibling branch page, the left most child of the
right branch page is no longer left most. It is a key in newly merged
left branch page, whereas before as the left most child of the right
branch page, it didn't really have a key in the right branch page, it
was the left most path the leaf page of a key in a branch page above it.
The path has changed, therefore the key has changed.

Wherever we remove the old right key, if the right key is the first key
in the branch page, then it needs to replace the pivot key. That's even
simpler than this commit, so I'm going to commit it for posterity, but
come back and implement the simplified version. It's generic. It work
work with both branch page merges and leaf page merges without adding a
task to the specialized function.

See #187.