[CORE] scheduler: Fix potential issue when Orphan VCPU paused

To pause an Orphan VCPU, we typically expire its timeslice which
causes a forced timer interrupt giving scheduler a chance to
schedule out the Orphan VCPU.

Till now, this Orphan VCPU used to be scheduled out via
vmm_scheduler_timer_event() or vmm_scheduler_irq_exit().

This patch schedule out paused Orphan VCPU from vmm_scheduler_irq_enter()
instead of vmm_scheduler_timer_event() or vmm_scheduler_irq_exit().

We do this in vmm_scheduler_irq_enter() because someone other entity
can resume back the paused Orphan VCPU before vmm_scheduler_timer_event()
or vmm_scheduler_irq_exit() in which case the context of Orphan VCPU will
not be saved.

Signed-off-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>