bnx: Implement multiple RX/TX rings and MSI-X support for 5718/57785

BCM5718 and BCM57785 families support 4 RX rings and 5 MSI-X vectors.
Additionally BCM5719/BCM5720 support 4 TX rings, while other chips in
these two families only support 1 TX ring.  Each MSI-X vector has its
own interrupt moderation parameters.

Hardware supplied RSS hash and packet type are not utilized yet; they
will be supported in the upcoming commits.

This commit also fixes some RX standard ring refilling races introduced
in:
841cdf08263117c54b0a800440c7630b6913c21e

RX standard ring refilling scheduling may enjoy futher optimization.
bnx: Fix up some comment abount ring control blocks (RCBs)
Unbreak buildworld.
kernel/netgraph: Fix a 64 bit pointer issue.

Previously, ng_parse_uint32_type was taken on x86_64 too.

Taken-from: FreeBSD
hammer2 - Major restructuring, part 5/several

* Stabilization pass.  Force VOP_WRITE operations on inode-embedded data
  to be synchronous, otherwise the asynchronous strategy code can catch
  inode->chain while it is in flux.