Refactored prefixes and opcode table

Size override prefixes have been moved to the
opcode table which simplifies the overall
structure while making the encoder more flexible.
Addtionally the opcode table has been extended
to four operands in preparation for future
support for vex encoded instructions.