Fixing a soundness bug due to the default implmentation of Theory::ppAssert() not respecting subtyping.
Separating an implicit inclusion of smt_engine.h from theory.h.