Improve quantifier instantiation: always use original terms when matching (was missing for simple triggers).   Minor updates to scripts.
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.
Fixing Tim's subtype/solving bug for arrays
Fix bug 567

This bug got introduced in 96eccb0d6134ccf4ead0134299b2e3750a890083.
The backing Node didn't always exist because of the changes.
Improved type-checking for tuple and reocrd selects.
Fix typo in Java destruction code; should fix some recent bug reports of crashes in Java.