Replace ExpressionBlock with Expression.  Wrap expression trees in AST with "exp" at top, which allows for clean refactoring of where we reorder operators and validate components of expression trees.  Fixes operator reordering which was broken.
Fixed test compilation, execution, some results
Implemented type system and pattern-matching function dispatch!!!! ...somewhat.