Reformat code
Extract log_size_for_flush into constant
Fix test nits
Rename Checkpoint to CheckpointBuilder and fix test nit
Add comment to LOG_SIZE_FOR_FLUSH and fix CheckpointBuilder comment
Rename CheckpointBuilder to Checkpoint and create_checkpoint to save_to
Rename save_to to create_checkpoint to be consistent with C API naming
Now when you reverse iterate past the last key, it goes backwards from the end.
When you reverse iterate before the first key, you get nothing out.
Note: This is a breaking change if users have come to depend on the old
behavior.
Allow creating both db and column family iterators that are specific to
a key prefix, by setting the `prefix_same_as_start` read option when
creating the iterator.
Currently this only supports `Direction::Forward`, but it'd likely be
trivial to support `Backward` as well, by incrementing the given prefix
by one and seeking to the key before that key.