GetBatch returns changes to be persisted.
Simplify Blockchain and associated functions, deduplicate code, fix Get() and Seek() implementations.