qemu-iotests: Add "-c <cache-mode>" option

The option sets cache mode used in the tests. "-nocache" is changed to
an alias to "-c none", and internally passes "-t none" to qemu-io.

Python scripts will make use of option this in the next commit.

Signed-off-by: Fam Zheng <famz@redhat.com>
qemu-iotests: Honour cache mode in iotests.py

This will allow overriding cache mode from the "-c mode" option.

Signed-off-by: Fam Zheng <famz@redhat.com>
qemu-iotests: Add _supported_cache_modes

This replaces _unsupported_qemu_io_options and check for support of
current cache mode.

If user dosen't give "-c <mode>" or "-nocache", the first supported
cache mode is used in qemu-io.

Signed-off-by: Fam Zheng <famz@redhat.com>
qemu-iotests: Change default cache mode to "writeback"

So that the tests can run faster.

Signed-off-by: Fam Zheng <famz@redhat.com>
qemu-iotests: Force qcow2 in error path test in 048

The "raw" doesn't always work on certain file systems (e.g. tmpfs). Use
qcow2 to make the allocation status explicit.

Signed-off-by: Fam Zheng <famz@redhat.com>
qemu-iotests: Clean up spaces in usage output

Whitespace changes to align columns.

Signed-off-by: Fam Zheng <famz@redhat.com>