Rework hypervisor detection

To be more like the existing Xen code, detect the supported hypervisors
from the SI_SUB_HYPERVISOR sysinit instead from identcpu(). I do prefer
the later method, but preserve the status quo for now.

Hook in the KVM callback when a CPU is stopped and misc cleanup elsewhere.