small refactor of the error handling and reporting in the parser kernel: always recalculate the expected token set before we invoke `ParseError` / only provide the `expected` token set to `ParseError` when it makes sense: fatal internal failures are very bad but not really dependent on this set, so we omit it. Besides, the userland code can fetch the expected set anyway, if they like, as it's now available via the `.collect_expected_token_set(state)` API, and we DO pass along the internal `state` as part of the error info now!
small refactor of the error handling and reporting in the parser kernel: always recalculate the expected token set before we invoke `ParseError` / only provide the `expected` token set to `ParseError` when it makes sense: fatal internal failures are very bad but not really dependent on this set, so we omit it. Besides, the userland code can fetch the expected set anyway, if they like, as it's now available via the `.collect_expected_token_set(state)` API, and we DO pass along the internal `state` as part of the error info now!

GerHobbelt/jison,GerHobbelt/jison,GerHobbelt/jison,GerHobbelt/jison