v2v: Add some defensive code to test for the broken qcow2 overlay bug.

In commit 53e0d3ea5fc703066f0eb92a49eaf8be18961e7e I fixed a cause of
disk corruption in the overlay file during conversion.

To ensure this doesn't occur again unexpectedly, add a simple test to
the virt-v2v code and to the tests.
v2v: Update TODO file.
p2v: Allow -EIO error when reading pty to mean the writer has closed the connection.

This is apparently normal behaviour for ptys.
p2v: Send SIGHUP (not SIGTERM) to kill child process.

One reason is that when testing the child process will be bash (not
ssh), and bash is documented to ignore SIGTERM when it is running
interactively.
p2v: Add a status message for when we detect the control connection has been closed.
p2v: Fix p2v.disks (etc) parsing on kernel command line.

The parsing of p2v.disks, p2v.removable and p2v.interfaces did not
correctly end at the first space, and therefore any other parameters
that happened to be on the command line afterwards would be consumed
as a list of disks or interfaces.
p2v: Add p2v.output* controls so we can control where the output ends up.

This still needs to be implemented through the GUI.
p2v: Add a test of virt-p2v.
Version 1.27.35.