hammer2 - Major hammer2_chain_*() API cleanup
* Do a major rewrite of the hammer2_chain_*() API functions, primarily
dealing with whether the caller wants data instantiated for a chain
element or not.
Also revamp the locking calls. Integrate the ref count into
hammer2_chain_lock() to simplify the operation.
* Add infrastructure to allow a minimum physical I/O size to be specified
independently from the allocation size. Not finished yet and currently
disabled.
* Optimize I/O a little, but this still needs a ton of work.
Set B_CLUSTEROK for logical buffers.
* Add some statistics gathering.
* Remove several duplicative functions.