Minor code refactor with hill climbing
Add a second tree evaluator that uses eval

Instead of traversing the tree, a second tree evaluator uses Python’s
eval and lambda function to create a mathematical function. Preliminary
results seems to suggest that this version is approximately 25% faster
than traversing the tree with CPython, but not PyPy since it has a poor
eval performance.