hammer2 - Change freemap segment delineation, other stuff
* Change the freemap delineation to encode the BREF type as
well as the radix, in order to avoid mixing data and meta-data
types together in the same device buffer.
* Reorganize the freemap to remove one indirection level. Reserve
two bits per block instead of one. Change bitmap granularity to 16KB
but leave allocation granularity at 1KB.
* Fix hammer2_devblksize() to match hammer2_devblkradix().
* Add hammer2_chain_iterate(), a chain iteration with a
callback.
* Fix issue when hammer2_chain_get() is called with HAMMER2_LOOKUP_ALWAYS.
* Start working on proper statistics rollups during flush (not complete).