Added syntax node for an each block with a basic implementation of enumerating the collection.
Refactored compiler to allow a stack of models to exist so we can work in scopes.
Added a SelfExpressionNode which allows a model to reference itself in cases like outputting a value type array.
Made the initial refactorings to support multiple parsers
Self register the handlebars parser
Removed TemplateRootNode syntax tree type and started the process of moving nodes inside the SynaxTreeNode class to tidy up the external interface
Moved the remainder of the SyntaxTreeNodes into the base class
Moved all the expression types inside the SyntaxTreeNode class
Tidy the public interfaces for SyntaxTree constructor functions