Changed constructor of `RangeNode` to `new RangeNode(start: Node, end: Node [, step: Node])`.
Nodes for a `BlockNode` must now be passed via the constructor instead of via a function `add`
Node.transform does not create a clone of the tree anymore
Enforcing implementation of _traverse on Nodes