[ARM] vgic: SGI sources and IRQ-to-LR mapping improvments

This patch does minor improvements to:
1. Per-VCPU SGI sources used to trigger SGIs: We need to
protect the per-VCPU SGI sources hence me move "sgi_sources"
from struct vgic_vcpu_state to struct vgic_guest_state and
protect it using "dist_lock".
2. Per-VCPU IRQ-to-LR mapping: Currently we only mapped
each IRQ to LR assigned to it. Instead this should be
(IRQ, Source CPU) mapped to assigned LR for capturing
software triggered interrupts.

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