guest-os: replace 32/64 with i386/x86_64

Consistent naming for the architecture lets test use i386/x86_64/ppc64
in filters.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tests: add only directive for architectures

Some tests are x86-specific.  Now that all guests call architectures the
same way in the tuples, filter them away.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
runner: add --arch option

We can now tell autotest the architecture being tested, and use it to filter
unwanted tests.  And we can also make the default OS simply "JeOS".  This
prepares for a world where there will be multiple JeOS images, and the arch
filter will pick the right one.

(And in an ideal world, the arch filter will default to whatever is supported
by the chosen QEMU binary).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
jeos: prepare for non-Fedora JeOS images

In principle, there is no reason why JeOS images should be Fedora
images.  The config parser picks any JeOS image that satisfies --arch
and --machine-type requirements, and some arches/machine-types may not
be supported by Fedora.  Thus, move existing Fedora-specific values to
the JeOS.17.64 definition.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
cfg: add variants for machine_type

Also select the machine type in guest-hw.  This is also useful to specify
versioned machine types in a cartesian config file.  Something like this:

    i440fx:
         variants:
         - i440fx-1.0:
              machine_type=pc-1.0
         - i440fx-1.1:
              machine_type=pc-1.1
         - i440fx-1.2:
              machine_type=pc-1.2

lets you run the test multiple times on all versioned types.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
runner: add --machine-type option

The default machine type is still quite x86-specific, but probing qemu or
libvirt for the supported arch is beyond the scope of this series.  I
left a TODO comment in the code.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
guest-hw: add a couple more drive types

spapr_vscsi is used by ppc64.  sd is used on ARM and other embedded
architectures.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>