Refactoring disassembler and expanding to support avx better

This commit is only briefly tested.
Cleanup and bug fixes of the disassembler

Removed now dead code from decode.c
Removed unnecessary duplication of avxC4/C5 instructions from optable
Got rid of vexl prefix and added vexlig