launch: direct: Refactor -drive parameter for virtio-blk/virtio-scsi.

This is a straightforward refactoring of the code for generating
-drive and/or -device parameters for virtio-blk and virtio-scsi.
launch: direct: Always use cache=unsafe for the appliance.

The code to select writeback was redundant, because current
qemu always supports cache=unsafe.
launch: direct: Always use -drive ...,iface=none.

For virtio-scsi, this is the same as always:

  -drive ...,iface=none -device scsi-hd

For virtio-blk, this now uses:

  -drive ...,iface=none -device virtio-blk