target-arm: A64: support for SIMD GPR copy (INS&DUP)

This adds support for the GPR->Vector forms on INS and DUP. These were
loosely based on the SUSE originals but are now considerably simpler.
They also re-factor the vec ld/st functions and add the helpers:

* do_vec_set
* do_vec_get

Which are used to extract/set subsets of the Vector registers. They take
a register id and an offset.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---

v3 -> v4 (ajb):
   - use ctz32 instead of hand-rolled bit finder
   - catch additional size > 3 unallocated
   - merge INS and DUP into one commit
translate-a64.c: add a debug helper trace macro

This just makes it easier to drop TRACE_DECODE statements all over the
place instead of fprintfs.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
rm unused field
scripts/qemu-binfmt-conf.sh: re-factor and clean-up

I was looking to set-up for development but found the script made some
hard-coded assumptions. It doesn't seem the script is used by the
distros but if it had a little more love maybe it would be ;-)

* Add usage() instructions
* Move all registering to a single function
* Check for existence of executable qemu before registering
* Add -d (devel) mode for subscribing in-src tree binaries
* error handling when setting binfmt fails
start of simd ldst single structure decode

It's just a stub for now