Generalize single tracking in page merge descent.

Generalized the tracking of branch pages that contain only one child on
the path to a page to merge. When a branch page contains only one child
it has no keyed children. If we are going to replace a key in an
ancestor of the left branch page because the merge exorcised ghosts, we
need to replace the key in the branch page that uses key for a child,
which is not always the parent branch page of the left leaf page. If the
parent branch page has only one child, that child has no key, the key is
in a branch page above it. It is in the first ancestor branch page that
has more than one child.

See #202.
See #201.