`leafMerge` not purging ghosted keys.

`leafMerge` will remove a ghosted key, but it also assumes that the left
key will be visited after the right key. Well, I don't know what it
assumes, whether that was an assumption, but it's wrong.

It cannot find the key because we've merged a left page that contains
ghosts, removing the ghosts, however we did not update the branch page
that referenced the ghosted key. To correctly merge the tree, we need to
lock the left key on the way down, we will visit it even though we're
looking for the right key. If, when we get to the branch page we have no
ghosts, we can release the left key immediately.

See #165.