Better fix for bug 528
Reduce compiler dependencies on substitutions.h,
Some new functionality in substitutions.h/cpp
Re-enable predicate subtyping, reversing commit 8f9f549 (needed for Kind integration)
fix for lambdas in relation to subtypes
fixup for miplib trick (related to lambda fix for subtypes)
subrange-related fix
new --tear-down-incremental mode
new --force-logic option that overrides what the input says
more ITE rewrites
some of the minisat markers/assumption framework
Revert "subrange-related fix"

This reverts commit 771943753d540defa4e708667f70fee131462367.
some speculative rewriting/solving in BOOL and UF theories
crazy hack impl
partially revert commit 4747cc4ff27b7fe4ec73f488382d3cca421c20f9
more crazy hack
disable some checks with --crazy-hack
crazy bool/arith rewriting