To do so the BlockMap struct has been removed. It behaves like any other prefixed part of the database, but was not integrated in the recent keyer refactor. Now the database is only flushed when files are in a consistent state.
This breaks out the key generation stuff into a separate type. It's cleaner on its own, and it prepares for future stuff.