MFC VirtIO r252702,r252703,r252704,r252706,r252707,r252708,r252709

This brings in several bug fixes and better conformance with various
aspects of the spec that have changed.

r252702: Convert VirtIO to use ithreads instead of taskqueues
r252703: Block driver bug fixes and spec changes
r252704: Balloon driver improvements
r252706: Minor network driver improvements
r252707: Minor misc VirtIO changes
r252708: PCI driver bug fixes and cleanup
r252709: Fix SCSI driver lock not owned panic