Intel10g: rx_buffsize config and check

This is supposed to fix #272 
-  driver: The config parameter `rx_buffsize` is used to set the receive queue buffer size (rounded down to KB increments and clipped to 16KB max)
-  driver: Before adding a buffer to the descriptor ring `rxdesc`, the size is `assert()`'ed to be big enough.
-  intel_app: Before accepting a given `rx_freelist`, each buffer in it is checked for minimum size.

I don't know if the virtio app can switch from zero-copy to non-optimized at any time, so i opted for checking the whole freelist immediately, and ignoring it if it's not acceptable.
I don't think this is safe. There can be some existing buffers in the receive queue that are smaller.

Could we simplify a bit:
- Buffer size is always initialised to 16KB. (Remove `rx_buffersize` parameter - not needed.)
- Buffer size automatically shrinks when a smaller buffer is added to the RX queue (e.g. the first buffer, which is probably < 16 KB).

That seems simple and sufficient?

If needed in the future we can come up with a safe algorithm for dynamically growing the buffer size again once the smaller buffers have been consumed.