Incomplete import of Intel Niantic 10G driver (ixgbe). Some other stuff picked up along the way.

The NIC driver will do nothing right now other than reset the device and wait for link status change.
Started to use our own exceptions all over the place (but for now mostly in VFIO code). This got as a dependency
on boost for boost::format.
Disabled tracing by default.
vfio helper script and documentation
Updated qemu.
RX for 82599 works. Lots of debugging code left. TX is not done.
Move stuff we need to mark buffers done into their own struct.
Introduce the possibility to complete packets out of order. Needed for zero copy TX to real hardware, where we need to wait for DMA to finish.
Fixed warning.
Don't keep synthesized virtio header in Packet completion. We have pointer pointing to it and it better not move.
Implemented simple TX over 82599.

TSO packets will be garbage. We also cause the TX DMA queue to stall, because guest buffers
are not whitelisted in the IO-MMU.
Register guest memory as DMA-able.

We use 1:1 DMA mappings. This needs to be fixed, because current Intel IOMMUs
can handle only as few as 39 address bits. We circumnavigate this problem
currently by magic hints to mmap and lots of hope. On Linux 3.10, high
addresses trigger an IOMMU kernel bug!

https://bugzilla.redhat.com/show_bug.cgi?id=998732