hammer2 - core file read and write paths
* Get the core file create, read, and write paths working and tested for
up to 8 blocks (we still don't have indirect blocks yet).
* Add a flags field to the hammer2_chain_lookup() and hammer2_chain_next()
to retrieve the element with a ref but without a lock, avoiding any I/O
(used to obtain the physical block address in the strategy_read code).
* Fix bugs in previously untested code paths related to reading and writing.
Fixed a double allocation, improper handling of a degenerate case when
creating a new record, missing b[q]relse()'s or bdwrite()'s, etc.
* Fix a ripout in the hammer2_chain_flush()'s SPLAY_FOREACH() loop that
led to a crash.
* Add hammer2_vop_close()
* Add hammer2_vop_ncreate()