Expands `load` function, experiments with loading assertions from tests.

- Matches the behavior of `load` function in V8, SpiderMonkey, Rhino, etc.
- Converts a few tests to load `tools/assertions.js` rather than define
  the assertion helpers within the test scripts themselves. Also a bit
  of hoop-jumping to get compatibility with Node.js which doesn't
  include/expose V8's `load` but does have `require`.
- `load` works well when the script is run as a file, but there are
  still issues with using it from the REPL.
First go at eval

- Basic cases work.
- Not working in the REPL yet, that's up next.
- Adds a header file to the flex scanner gen. Removes the extra
  declarations in the parser spec.