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
goto out?  These fix lines are repeated almost exactly the same 5 times in this function.