Cleaned-up X86Opcodes

Now assembly encoder function match on a list of operands, not on a
fixed count of operands:
- encoder :: OpOperand -> OpOperand -> [Word8]
+ encoder :: [OpOperand] -> [Word8]

Now an empty list is returned if assembling a  specific instruction
failed, without raising an error.