upgrade ASM from 3.x all the way to 5.x

years of progress in one fell swoop!

the main changes are:
- we're on Java 8 now, so we pass ASM the new V1_8 option
- we use COMPUTE_STACKMAPS since Java 8 requires it

plus various small adjustments here and there because the
ASM API has changed somewhat in all these years
Fix code generation for some primitives that take a reporter block