mxge: Add polling(4) support

The polling(4) support for mxge(4) is actually "hybrid":
- Polling TX and status does not work, so TX and status are still handled
  through interrupt.
- There is no way to disable RX interrupt explicitly; we will have to
  depend on RX interrupt: if RX interrupt comes, RX interrupt will be
  disabled by hardware and we don't enable it in interrupt handler.  And
  we don't process RX in RX interrupt.
- During RX polling, if there is no more packets ready, RX interrupt will
  have to be enabled again, else upcoming packets may suffer large delay.

Due to the "hybrid" nature of polling(4) support, RX polling is handled
on the same CPU which handles RX interrupt.
mxge.4: Mention polling(4) support
polling.4: Mention mxge(4)
hammer2 - Implement I/O abstraction, fix deadlocks

* Implement a device buffer I/O abstraction, struct hammer2_io.  This
  abstraction allows multiple chains using smaller allocations to be
  locked concurrently sharing the same (larger) underlying buffer cache
  buffer.

* Does a very good job abstracting device block size selection from
  logical block size selection.

* The new implementation also abstracts asynchronous callbacks quite well.

* Not currently all that SMP friendly.

* Fixes buf/bio deadlocks under heavy loads.
hammer2 - Implement I/O abstraction, fix deadlocks (2)

* Stabilize last commit, fix garbage collection SMP race.