arm32ve: Add support for CP14 ThumbEE virtualization

ThumbEE, Debug, and Trace support are part of CP14 hence it becomes
important for us to provide infrastructure for virtualizing CP14
register accesses.

This patch adds basic infrastructure for CP14 virtualization and uses
it for virtualizing ThumbEE registers.

All CP14 accesses from VCPU always trap into hypervisor hence for
ThumbEE virtualization we do following:
1. CP14 read access: We return value read from HW on behalf VCPU
and save a copy of it VCPU private context.
2. CP14 write access: We write value to HW and also save a copy of
it in VCPU private context.
3. CP14 save: We don't need to explicitly save registers because
we already keep track of all CP14 read/write accesses via traps.
4. CP14 restore: We have to explicitly restore all register values
by updating them in HW.

Signed-off-by: Sting Cheng <sting.cheng@gmail.com>
Signed-off-by: Anup Patel <anup@brainfault.org>