WIP: AST Interpreter
Bash the existing OSR code into submission for the new AST interpreter

Once we get the AST interpreter in, we can add resume-from-any-point
functionality, which means that we can get rid of the current OSR system.
Maybe we should have done that first, but I thought it would be easy
to get the OSR stuff working.
AST interpreter cleanup

- Move internal definitions from header to source file
- Fix root_stack_set bug carried over from llvm_interpreter
- Cut off access to the old llvm interpreter
- Slightly tune the tiering thresholds
 - They seem too high but our LLVM compilation is overly expensive right now
 - Our AST interpreter is also somewhat slow due to its string handling
Merge pull request #228 from kmod/interp2

New AST interpreter
Get out of the interpreter faster
Fix: have the AST interpreter reuse OSR entries

Before it was recompiling the OSR-entry function every
time it would take an osr exit.
Have to be able to introspect interpreter frames that do no interpretation

ie due to reoptimizing the function and then calling into the compiled code.
We could handle this specific case by not treating these as "real" frames
that need to be introspected, but we have these kinds of situations in other
places (reopt from compiled code, osr from either kind) so I'd rather
find a more general improvement.
Merge pull request #208 from dagar/master

initial cmake support
Documentation updates for cmake changes