Глобальный рефакторинг + правки.

Исправлены имена public данных в классах. Узлы AST теперь  знают о своем
положении в исходной коде. Узлы AST больше не дают public доступ к своим
полям.