Implement kvm alias switch

implements #360

This is branched off of #334, I suggest you merge that before considering this PR.