X64Emitter: support shorter mov reg, imm opcodes

Also refactor WriteNormalOp a little bit and add comments.
Add immediate tests for WriteNormalOp

also fix a bug in Bochs that was preventing adc from passing.
Merge pull request #1055 from FioraAeterna/smallermov

X64Emitter: support shorter mov reg, imm opcodes