Rewrite virtio/vhost for clarity.

Rewrote the virtio/vhost code for clarity. The code is nicer and it formats well as a book.