target-arm: always route exceptions taken while in secure monitor mode to secure world.

This patch properly routes all exceptions taken while the processor is
in secure monitor mode to secure world. The fixed behavior now matches
the pseudo-code descriptions given in the ARMv7 Architecture Reference
Manual.
target-arm: Allow user to force use of QEMU internal semihosting functions.

This patch allows the user to force use of QEMU's internal semihosting
implementation, even when a GDB remote debugger is attached during
startup. The forced GDB bypass mode can be enabled, by specifying
a semihosting model (wie -semishosting-model) with "nogdb+" prefix
in its name.
target-arm: make trustzone SCR accessible to gdb.

This patch exposes the TrustZone Secure Configuration Register (SCR)
via the GDB remote interface. It allows the debugger to detect the
active world, and to switch between the active worlds, by modifying
the SCR.NS bit.
target-arm: More generic GDB access to TrustZone system registers.

This patch leverages the existing coprocessor register framework, to
expose more system control register to GDB. The secure configuration
register (SCR) is reported as visible in the standard "info registers"
group. The other register can be accessed on demand (e.g. via
"print $vbar").