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
Merge pull request #12 from NetLogo/wip-asm-5

Upgrade ASM from 3.x to 5.x
wip temporarily disable scalastyle
massive compiler refactoring

working towards completely cutting all dependencies of compiler
front end on engine.  not actually all the way there yet.

this collective work by Seth, Jason, and Robert is summarized at
https://github.com/NetLogo/NetLogo/wiki/Compiler-Refactoring-Notes

major changes include:
- primitive classes split into front end and back end.  front end
  prims are immutable and don't depend on nvm.
- reordering of phases. Optimizer now runs after AgentTypeChecker
- Let handling was heavily redone
- Reference handling redone; prim._reference eliminated
update sample-scala extension for latest changes here
Ripping out `token2`

Turns out that it wasn't even really being used...
add comment
clean up: merge ParserTests into FrontEndTests