virtio.h: First draft of header file for virtio support.

virtio and its "vring" structure provide a shared memory DMA-like
interface for sending and receiving packets.

We will be able to do two things with virtio:

1. Communicate directly with KVM guests. That is: directly with the device driver running inside the guest VM, without waking up the hypervisor.

2. Communicate with the host Linux kernel to do zero-copy ethernet I/O using the "vhost" architecture (http://blog.vmsplice.net/2011/09/qemu-internals-vhost-architecture.html).

This header is based on the specification:
  virtio: Towards a De-Facto Standard For Virtual I/O Devices (Rusty Russell)
  http://ozlabs.org/~rusty/virtio-spec/virtio-paper.pdf