PEG.js grammar: Add missing semicolon

Fixes the following JSHint error:

  lib/parser.js: line 108, col 54, Missing semicolon.
PEG.js grammar: Fix line continuation handling in character classes

Before this commit, line continuations in character classes contributed
an empty string to the list of characters and character ranges matched
by a class. While this didn't lead to a buggy behavior with the current
code generator, the AST was wrong and the problem could have caused bugs
later.

This commit fixes the problem.
PEG.js grammar: Improve the |Code| rule a bit

Instead of matching segments between blocks character by character,
match them as a whole. Also align the style with other similar rules
(e.g. the comment ones).
JavaScript example: Fix parsing of statements

Fixes a problem where statements starting with a reserved word produced
errors like this:

  Reserved word "return" can't be used as an identifier.

The problem was in a wrong ordering of choices in the |Statement| rule
together with aggressive reserved word detection in the |Identifier|
rule.
JavaScript example: Fix automatic semicolon insertion

Fix parsing of inputs like this:

  foo() // comment
  bar()
Now functions are stored separately from other constants -- is will allow to generate parser on other languages and more easy replace actions.
Use field `actions` in grammar node instead of `consts`.
Correct testcases.
Small utility for decompilation of bytecode, generated by generate-bytecode compiler pass.
Сделана генерация исходного кода парсера на Java.
Исправлены ошибки генерации.
Сделаны затычки в генераторе для генерирования корректного Java-кода.
Узлам AST-а добавлены функции |toSource| для генерации исходного кода грамматики.
Добавлено несколько функций для более удобного ручного создания AST-а.
Исправлен баг, не позволяющий начать разбор с правила не по умолчанию.
В парсер PEG-грамматики добавлена возможность начать разбор с правила "class".
Исправлена ошибка генерации исходника для Choice -- подвыражение на бралось скобки, из-за чего в некоторых случаях генерировался некорректный парсер.
Для узлов переопределен toString(), возвращающий результат toSource().
Исправлена некоторая некомпилируемость.
Добавлено немного документации к классу генератора парсера.
Расширен API генератора парсера для возможности задания базового класса или интерфейса, который должен реализовывать возвращаемый парсер.
Указанный класс может хранить дополнительное состояние и реализовывать сервисные методы и методы действий/предикатов, которое необходимы парсеру для разбора.
Добавлены новые методы, которые парсер должен реализовывать. Однако, пока их реализация не готова и они кидают UnsupportedOperationException.
Добавлен класс для более удобного создания парсера кодом.
В некоторые узлы AST-а добавлены конструкторы для более удобного создания узлов вручную.
Исправлена ошибка в генерации сообщения ошибки для типа "class" -- вместо знака inverted писалось true или false.