Replace the bwillwrite() subsystem to make it more fair to processes.
* Add new API functions, bwillread(), bwillwrite(), bwillinode() which
the kernel calls when it intends to read, write, or make inode
modifications.
* Redo the backend. Add bd_heatup() and bd_wait(). bd_heatup() heats up
the buf_daemon, starting it flushing before we hit any blocking conditions
(similar to the previous algorith).
* The new bwill*() blocking functions no longer introduce escalating delays
to keep the number of dirty buffers under control. Instead it takes a page
from HAMMER and estimates the load caused by the caller, then waits for a
specific number of dirty buffers to complete their write I/O's before
returning. If the buffers can be retired quickly these functions will
return more quickly.