Make Guest OS configurable, more config options

This pull request adds the ability to define custom guest OS to run virt tests with, as well as the ability to define new guest OS by dropping snippet cartesian files to appropriate directories. With this, you can drop a file in

shared/cfg/Linux/LinuxCustom/foo.cfg

with the contents:

FooLinux:
image_name = images/foo-linux
shell_prompt = "$"

To add a Linux guest with a simple shell prompt. To run tests with this image,

./run -t qemu -g LinuxCustom.FooLinux --tests "tests you want"

Also, clean up a number of details in the step file related tests.