Move inspect to evaluator.py, keeping related code together.
Refactor to create compare_factory(node).
Remove now redundant lookup dict from evaluator.py.
Similarly refactor to create pow_factory.
Add and use compile_node, compile_nodes in evaluator.py.
Rewrite test for evaluator.py to use inspect directly.
Refactor to create and use code_evaluator_factory.
Refactor to use eval_code, and make inversion of control.
Add call_factory to evaluator.py (for internal use only).