Write branch pages as insert/delete log.

Branch pages are now written as insert/delete logs by the same logic
used to maintain leaf pages as insert/delete logs. I'm not yet storing
keys. The purpose of this step is to modify `replay` to work with branch
pages or leaf pages, to invoke `replay` when loading a branch, and to
correctly write an insert/delete log when writing a branch.

Implementing #155 is next. Part of that commit will be updating the
fixtures to use keys in the comparison. Just as order is generated for
fixtures read as JSON, keys will be generated, but we're going to want
to make sure that we've got the right keys in the leaf pages, not trust
that they are correct if the addresses are correct.

Closes #178.