Upgrade to pegJS 0.8

Upstream changes that affect us:
 - line and column variables are now functions
 - parser.toSource() removed in favor of a generator option that switches between an object and string versions
Grammar cleanup. Use new |error| grammar.
Upgrade pegJS to 0.8
Grammar cleanup. Use new |error| grammar.
Release v2.3.6
Merge 2.3 changes