hammer2 - Stabilization pass
* If the HAMMER2_CHAIN_DEDUP flag is set modified_needs_new_allocation()
must return 1 to force a new allocation. This fixes a number of dirty
buffer rewrite cases that broke dedup.
* Do not try to dedup a chain flagged MODIFIED or INITIAL.
* The indirect-block deletion code in the flusher needed to also count
blockrefs if it hadn't been done yet. This fixes cases of missing
directory entries.
* For now use a transaction in hammer2_strategy_write(). We probably don't
need it due to the way the logical buffer cache is handled, but do it
anyway.
* Clean-up some of the code documentation.
* Implement sysctls for dedup and buffer invalidation enablement. dedup
is turned on by default, invalidation is turned off. Invalidation is
not currently working well.