core/expression: keeping the binding name in KnownValue in case we want to cast it back to an AST node
Using attribute access for state objects
core/expression: catching exceptions when trying to evaluate functions
tests/core/expression: builtin evaluation is currently a problem of Function, not the expression evaluator
core/expression: added UnaryOp handling