Extending the framework and updating the tests to work with Windows.

This mainly involves replacing ssh with our custom TestListener
service and carefully isolating the bits of test code which pokes at
the guest directly.

Some Windows-specific test functionality depends on recent features in
other repos such as advanced params parsing and TestListener balloons.

At this point, all the tests in launch_test.py and sharing_test.py
have been udpated for Windows. Migration tests don't appear to do any
sensitive guest operations so should just work (but hasn't been
tested). Memory tests will be updated in a future commit and are
currently skipped for Windows instances.

Change-Id: I403ec8941653f643039388077866dda4381b5447