i#1551 port to ARM: initial encoder implementation

Shifts top-level encoding routines to encode_shared.c with the single core
routine arch-specific.

Adds an end-to-end implementation of the ARM encoder but only fills in
operand-type-specific code for registers.  Immediates, register lists, and
memory operands will be added later.

Adds an encoding error message feature on ARM as an attempt to provide more
specific error messages, as figuring out why encoding failed was always
difficult with our x86 encoder.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@3021 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
4 files changed