blk: finish the implementation

- Recover from failed flog map updates.
- Handle wrong block sizes during opening of pools.
- Add invariant checks inside btt where appropriate.
- Remove unnecessary callback entry point

Initial version by @mdalecki
While you are in here fixing comments, I'd change this to something simple like /* no layout yet to update */