v2v: Abstract Convert_* modules from core v2v code.

Previously the core virt-v2v code had to know which Convert_* module
to call for each guest type (based on inspection).  After this change
the core code doesn't need to know that, but instead Convert_* modules
register their interest in particular guest types.
v2v: List convert modules in --machine-readable output.

$ virt-v2v --machine-readable
[...]
convert:enterprise-linux
convert:windows
v2v: Report error when multiple conflicting command line options are used (RHBZ#1140050).

$ virt-v2v -i disk -i libvirt
virt-v2v: error: -i option used more than once on the command line