Assert that left most key is null.

Assert that the left most key of a branch page is not cached when the
branch is written. Leaving the left most key in the cache after a merge
or split has no effect on the operation of the b-tree, but we want to
assert that we're being deliberate when balancing our tree.

We add our assertion to `writeBranch`. The issue for this update
suggests checking on descent. We'll add that in a subsequent commit.
Eventually, `writeBranch` will go away in favor of appending a record to
the branch page file and vacuuming later.

Our assertion detects that we do not clear the key from the cache when
the left most child of a branch page is deleted in a merge. A merge may
promote the child to the right of the left most child to the position of
left most child, so we need to remove the key from the cache when this
promotion occurs.

See #210.