Make some "argument shape" be represented by subclassing.

In particular, this splits out subclasses for each possible fixed
register count as well as one for register ranges. A follow-up patch
will introduce explicit DecodedInstruction subclasses for payload data
instructions, which is actually the original motivation for this
change, though this change makes InstructionCodec get cleaner in most
of the decoders (at the expense of one decoder that gets a bit
uglier). C'est la guerre.

Change-Id: Ib22280ba86c9d087c396845bf94266d3e2894db5
9 files changed