Disk usage accounting improvements

As it turns out, FreeBSD ZFS has some interesting behavioral oddities related to fsync(2) and st_blocks. Specifically, after a write(2) then fsync(2), the stat(2) st_blocks information returned does not immediately reflect the correct disk usage.

Without further investigation, cursory empirical discovery has revealed that this property is only updated after several seconds after the fsync(2). This behavior was accordingly implemented in sliod so the correct usage accounting information gets propagated to the MDS on bmap CRC updates (BCRs) instead of erroneous values. The cost is that BCRs stay around in memory increasing memory pressure on busy IOSes and widening the window of lost BCRs to the MDS if the sliod fails.