Refactored ExpressionWriter and ExpressionEvaluator to use the common ExpressionVisitor class, which handled the AST tree traversal.
Simplified the AST by removing the "MultExpr" type, and making these Expressions