Small step semantics example

Adds Nodes and implements first basic expressions, e.g. Add, Multiply, Number, Boolean, LessThan.

* Nodes can composed and a simple AST tree can be build and reduced
* a Machine class can take an expression and reduce to a final value step by step, outputting each step
* an Environment class handles setting of variables
* Nodes all can be used for output, show a representation of their meaning
* main file extends with samples, currently no tests