Make CRETE_INSTRUCTION_MAKE_SYMBOLIC and the like rather use the typical macro for passing custom instructions. There actually isn't a good reason why I use a special macro (with a special designator like 0x3E etc). One day we'll come back to this and we'll think there's an important reason why we couldn't use the normal method, but there isn't. The only real advantage I see is perhaps leaving 0x0F, 0x3F for instructions designated for custom_instruction.cpp, and another for injecting special function calls into the bitcode. This latter argument actually seems reasonable.
Map the custom values to macros, so we know which is which without having to re-examine the code every time.
Two primary items that need cleaning up: