[CORE] More improvements to vmm_scheduler_next()

This patch reduces code duplicay in vmm_scheduler_next for
"Normal scheduling" case.

We also protect arch_vcpu_switch() using sched_lock of current
and next VCPUs.

Signed-off-by: Anup Patel <anup@brainfault.org>