[ARM] arm64: Low-level context switching of VCPU registers

This patch improves arm64 context switching by doing most
of the register save/restore in assembly code rather than
inline C assembly. This is very similar to what we do for
low-level context switching in arm32ve port.

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