KVM: ARM: Move vgic register access to C-code

This makes the code more readable and paves the way for cross-cpu
virtual interrupt injection and some more lazy save/restore of
registers.

We could take the mapping of Hyp mode vgic control register access out
at this point, but we may want to do some shortcutting of the sender
side of IPIs at some point, so leave the code in for now.

Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>