refactoring Expr and exprD'

- Expr is now based on exprD' instead of exprD
- exprD' is uniformly phase split UVars and Vars look the same.
Fixed bug in Auto

- Needed to perform unification in extended environment.