kernel -- Import virtio & virtio-block drivers.

virtio-blk provides a paravirtualized storage controller, with one
disk per virtio device.

This driver is based on Tim Bisson's port of FreeBSD's virtio and
virtio-blk devices. Differences from Tim's port:

* Import all FreeBSD updates from 4/16 on.
* Remove indirect descriptor support from virtio device.
* Mark devices as D_MPSAFE; removes mplock around disk routines, they
  are all correctly self-synchronized.
* Implement devstat support.
* Move I/O completion routine to threaded taskqueue.
* Do not hold target spinlock around virtqueue notify.
* Move objcache caches to kmalloc.
Rename vtblk_intr_task to vtblk_complete.
kernel/virtio: Some cleanup (Makefiles and gcc47 warnings).
kernel -- Tie virtio, virtio-blk into build.
Build fixes.
kernel/virtio: Make it compilable into the kernel.

Submitted-by: vsrinivas
Add manual pages for virtio (taken from FreeBSD with modifications).
kernel/hammer: Remove unused variables and add __debugvar.
kernel: Replace the remaining __amd64__ with __x86_64__ for consistency.
kernel/aac: sge64 is only used on x86_64.
kernel/linprocs: Remove some unused variables.
kernel/tcp_{input,output}: Remove some unused variables.
kernel/802_11: Remove unused variables.
kernel/netproto: Remove some unused variables.
kernel/nfs: Add a 'break' for readability and remove unneeded semicolon.
kernel: Remove some unused variables in RAID and disk drivers.
kernel/bus: Remove some unused variables and put others in #ifdef...
kernel/vfs: Remove some unused variables.
Merge branch 'master' into gsocdrm_github
kernel/netinet: Remove some unused variables.