Add ExecutionEngine::freeGeneratedCode and implement for MCJIT.
freeGeneratedCode lets an ExecutionEngine client drop all generated code
and related state. This hook can be used to:
- Free code no longer in use. This is useful for MCJIT clients that relocate code generated by MCJIT into space allocated by the rest of the runtime, and don't need the code buffers managed by MCJIT once this is done.
- Reset MCJIT from a state after generateCodeForModule has been called but relocations haven't been applied to a good state ready for a new compilation. This is useful for error recovery.