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
not sure why this check is here.  the caller isn't trying to write data, just update the flags.  seems reasonable to allow it even if the error bit is set.