Add priority to NodeOptimizers
NodeOptimizers are handled by Environment
Enter-Leave Node methods instead of single optimize().
Add ForLoopOptimizer to Core extension.
Fix a small mistake - do return with node optimizers.
Clean up and optimizer ForLoopOptimizer
Rename optimizer and related classes, methods.
Add a way for the node tree traverser class to remove nodes from the tree.