Split interpreter_switch_impl into smaller functions.

Split the uber switch statement into smaller functions.
Those functions are still always inlined in the switch,
so it makes little difference for the time being.

However the separation should allow us to:
 - Remove the excessive use of macros in the interpreter.
 - Add helpers to handle similar opcodes.
 - Simplify the individual opcode handlers.
 - Simplify interactions with mterp.
 - Easily experiment (e.g. switch vs goto dispatch).

Performance difference is within noise (golem using the switch).

Test: "test.py -r --interpreter --host" with switch interpreter.
Change-Id: I6075b354e0439bf89061f492dd9b9cbe743145cb
1 file changed