refactor vm handling

- move common vm code into build-vm
- split vm-types into multiple build-vm-* plugins
- support xen 4.3