Add rewrite and first-order pattern matching skeletal
Update fo_match
Add then and orelse rewrite combinators and tests
Fix type of rewrite() to take an env. Add skeletons for other rewriters