core/expression: got rid of DynamicCompare, which does not really encapsulate anything useful
core/expression: creating operator lists on module import
tests/core/expression: added BinOp tests for all possible operators
tests/core/expression: added tests for all possible UnaryOps
core/tests/expression: checking for AST equality first

Makes debugging easier.
core/expression: fixed a typo in KnownValue.__repr__()
core/expression: made KnownValue a new style class

So that we can use type() on it.
core/expression: added handling of Str and Tuple nodes
tests/core/expression: added testing for all possible comparisons