iife2 was failing for two reasons:  the same gc bug causing other 'huge' tests to fail (fixed by lowering loop counter), and dtoa bugs for large doubles (we're using printf at the moment, which isn't compatible with ECMA262 9.8.1, apparently.  work around both and remove the known failure state.
make this test work with all engines
reinstate MoveFunctionDeclsToStartOfBlock, but rename it to HoistFuncDecls and put it in closure-conversion.coffee.  also rename FuncsToVars to FuncDeclsToVars
spew removal
add the 'Boolean' class.  how did we survive for so long without it?
body needs to be assigned back here
use Object.create null instead of {} so we keep from getting a prototype
put a LOT more info into the generated function names
fix ComputeFree once and for all.  Also add a NameAnonymousFunction pass that pretty prints the lhs of assignments when the rhs is an anonymous function expression.  also add support for inlining the arg loading + invocation (since test/v8/earley-boyer.js has a 107 argument invocation and I'm not writing _ejs_invoke_closure_107) directly at call sites.  add %createArgScratchArea intrinsic generated in closure-conversion.coffee and handle it in the compiler.  lots of other misc compiler cleanup.
tons 'o changes.  use parson for the json parsing.
add doesNotAccessMemory and doesNotThrow accessors for call/invoke instructions, and functions.
generate the ll.opt file directly from opt, instead of generating bitcode and then running llvm-dis on it.  also, clean up all the temp files unless told not to.
stop neglecting this..
update parson dep
loads more tests
add parson