Add extra assert() statements trying to catch a Mem object in an inconsistent
state.
Factor the Mem invariant checker into a separate procedure (rather than a
macro) so that it can be more easily extended.
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be
used to free the string or blob.  Add tighter invariant checks on Mem.
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must 
be used to free the string or blob. Add tighter invariant checks on Mem.
Fix a segfault that can occur following an OOM error.
Merge latest trunk changes.
Fix a harmless compiler warning.
Change the "explain_i" tcl test command so that xterm color codes are only added if the output is actually a terminal.
Change an OP_SCopy into an OP_Copy in a case where the destination might be
used after the source has changed.
Merge latest trunk changes.
Fix compiler warnings.
Fix a typo in a comment.  No changes to code.
Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt.
Fix a couple of harmless compiler warnings.