multi-iovec and jumbo frames

This handles some issues on "bigger than trivial" packets.

- sets the maximum frame size (register MAXFRS) to 9000+18 bytes.  It could be nice to use a configurable option, but it's a chip-wide setting, so it's likely better to simply set to the max.

- fixes the too-many-releasing bug by incrementing the reference counter of the packet for each descriptor in the transmit queue.  This makes it possible to send a multi-iovec packet without coalescing it first.

- allows the NIC to split packets that are bigger than a single buffer (currently 4K).  Both `:can_receive()` and `:receive()` have tight loops to check for an EOP descriptor after some ready-but-partial descriptors.  This could be manually unrolled (just 3 iterations with current defaults) if benchmarks prove it to be a performance regression.

- implements the `:stop()` method for the app, in the VF case, it calls the PF if it's the last VF.  This is necessary to allow changing configurations.  (seem unrelated, but some settings (frame size in this case) persist even across process invocations, so it's impossible to properly test it without `:stop()`)