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
Implement map using splay_trees

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>