A very big commit with a lot of changes, see below

+ Neotoma-style functional parser generation
  - Currently resides in src/pegjs2_javascript_fn, name will
    change
  - The following hasn't been implemented:
    - action
    - semantic_and
    - semantic_not
+ Added code analysis, more work required
* Minor changes to bytecode generation