i#1551 port to ARM: add encoding of immeds

Adds encoding rules for the various immediate template types.
i#1551 port to ARM: add encoding of memory types

Adds encoding rules for memory types.  This includes checking consistency
of the separate writeback or post-indexed displacement/index/shifted-index
versus the inside-memory-operand values.

Fixes INSTR_CREATE_push to add the negative offset to the memory operand
(writeback, not post-indexed).