* enable previously-failing (now succeeding) datatype example that uses records
* some bindings cleanup

(this commit was certified error- and warning-free by the test-and-commit script.)
Fixed last currently known bug in array models
support for quantifiers macros, bug fix for bug 454 involving E-matching Array select terms (thanks for the bug report Francois)
Disable predicate subtyping:
* remove from public interface (ExprManager, Type)
* CVC parser reports an unimplemented feature error if used

I didn't want to tear it out completely (from NodeManager, TypeNode,
type-checking, pre-processing, etc.) because that's a lot of hassle
and we'll add it back in after the release anyway.  It *does* mean
that CVC4::Predicate is in the public interface, but that it can't be
used for anything (by users).

(this commit was certified error- and warning-free by the test-and-commit script.)
Fix for bug452.
Changed the splitting-on-demand lemmas of arithmetic to no longer contain the equality being split on. Instead of issuing 'x != y implies (x < y or x > y)', the lemma is now '(x <= y or x >= y)'. This resolves bug 450.
Adding hand minimized test for bug 450.
Run lastWinner thread for all commands. Earlier behavior was to run
lastWinner only for (get-model) command, using thread0 otherwise.
Added debugging output to --check-models. I've found this output quite useful while debugging.
Adds a number of new capabilities to DeltaRational. This adds DeltaRationalException which can be called when an operation on a DeltaRational does not have well formed semantics. This allows for things like multiplying two DeltaRationals, which may or may not result in a DeltaRational.
- Removes getDeltaValueWithNonlinear() entirely
- Changes the signature of getDeltaValue to throw DeltaRationalException and ModelException
-- DeltaRationalExceptions can occur with non-linear arithmetic computations that cannot be done. (0 + delta) * (1 + delta) is not a DeltaRational.
-- ModelExceptions occur if getDeltaValue() is going to return a value that disagrees with its value in the model (due to non-linear arithmetic)
-- ModelExceptions also occur if getDeltaValue(n) is called on a variable arithmetic has never seen before.
- getEqualityStatus() now wraps and catches both of these exceptions. If either occurs, the equality status is EQUALITY_UNKNOWN. This allows arithmetic to handle terms it has never seen before in getEqualityStatus. This resolves bug 453.
- Removes the dead code rowImplication() entirely.
Example of rewrite rules use that comes from an harness test
Adds ensureConstraint(...) to ConstraintDatabase. This is a slightly optimized way of doing getConstraint() if the user already has a ValueCollection&.
This commit fixes two incompleteness bugs (461, 459) introduced in r4611 dues to a problem of not correctly handling disequalities.  Performance implications are uncertain.
Adding a regression test from bug 462.
Makefile fix for new versions of Make (thanks Clark for noticing this); see e.g. http://osdir.com/ml/bug-make-gnu/2011-04/msg00011.html
some fixes to language bindings and function visibility
don't include internal variables in model output
Disabling test/regress/regress0/push-pop/bug396.smt2. This takes 2m to run in debug mode. This is too long for a regress0 test.
Improving arithmetic debugging output.