Memoize formula analysis routines

This avoids an asymptotic blowup if the formulas have a lot of shared
subterms.
Introduce a "map_expr_temp" in the formula manager to encode this
kind of traversal and caching.
Add flushes to some more tracing printf()s, which makes it easier
to see where FuzzBALL is spending its time when it's slow.