qemu: Use "unsafe" cache if direct IO is not supported

ZFS on Linux, for example, does not support direct I/O. Probe for DIO
support before starting a new QEMU instance and fall-back to "unsafe"
caching if it's not supported. Suggested by Tomek.

Fixes #118.

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Merge pull request #119 from penberg/qemu/direct-io

qemu: Use "unsafe" cache if direct IO is not supported