--arch and --machine-type flags + improvements to --list-guests

These patches introduce multiple arches in the test runner.  It is now possible:

1) to specify the desired image (especially useful for JeOS images) via a --arch flag;

2) to support multiple machine types from a single binary, and automatically run tests on all of them (e.g. i440fx and q35);

3) as a useful side-effect, to restrict the output of --list-guests by architecture, machine type, or by an arbitrary Cartesian filter on the guest OS.