Add AbstractNode and first refactoring on binaryOpsNode
renaming function to respect visitor pattern
bumb
Merge branch 'feature/refactor'
first batch
add flatten to leaf and tree
Add crossover and basic testing
evolution and cleanup
Merge branch 'feature/majorrewrite'