Implement instructions using immediate operands with combinations of shift, sign, and PC relative addressing

ImmediateOperandInfo encodes shift, signed, relative, and size for an operand
Make table of ImmediateOperandInfo for opcodes
Encode immediate operands using ImmediateOperandInfo before adding to instruction
imm.cpp test program
Add two failure cases to asmtest.asm

Fix #2
Fix #3
Fix #4
Fix #5