Replace expr == with recursive function. Add goodies for traversing expressions.

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

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

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add max_shared: function for computing maximally shared expressions.
Update the build image in README.md
Add format.cpp/.h
Update format.cpp