qemu_storage: Stop ignoring failures creating VM images

By default, the qemu_storage code is ignoring failures
when qemu-img fails to create a disk image. This happens
because the failure is actually considered only if the
(terribly undocumented) param 'check_output' is set to
yes.

Since there's no 'check_output' on any .cfg file
in the virt-test repo, the failures will never be
considered and virt-tests will happily proceed, even
though a world of pain and suffering will follow.

Since there are future tests that might require the
output of the creation command, we'll fix the problem
by:

1) Introducing a ignore_errors boolean parameter to
the .create() method, when set to true it'll make
the method to not raise an error on failure.

2) Making the method return a fixed tuple
(path to the image created, object with the result
of the command). With the result object, it is easy
to get outputs as they are attributes of the said
object.

This also has the nice side effect of not requiring
the check_output parameter anymore.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
qemu_storage: Be lenient and fix a missing parent image dir

If the parent directory of the image file is missing,
the qemu-img command will throw error messages that
are not very helpful. This condition usually indicates
a serious setup problem.

However, It is possible that the missing image dir is a
localized problem and the job can continue. So, instead of
erroring the test, like previously considered, just try
to create the missing parent image dir, and proceed with
the image creation, after logging the condition and giving
some idea to the tester what could be wrong there (if
the setup problem is so serious the test will fail anyway,
but now in a more clear and understandable way).

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>