The OP_Column opcode runs faster and is smaller by manually in-lining the
code that persists string values in the output register.
Updates to comments.  No code changes.
Small size reduction and performance increase for releaseMemArray().
Remove a local variable from the OP_Column implementation, resulting in a
modest size reduction and a performance increase.
Make the "nolock" VFS on unix a version-3 VFS so that the sorter can
use memory-mapped I/O.
Do not attempt to extend the temp file if VFS version 3 is not supported and
hence memory mapped I/O is unavailable.
Fix the affinity on inserts into the ANALYZE tables.  Change the affinity
characters to be upper case, to make the P5 parameter of comparison operators
easier to read.
Tighten the conditions under which applyNumericAffinity() be called and add
assert() statements to prove that it is never called otherwise.
Recognize the invariant that a Mem object cannot be MEM_Dyn and have 
a non-zero szMalloc at the same time.  Enforce this with assert()s and
exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance
increase.
Simplify two conditionals and add testcase() macros to the affinity transform
logic in the comparison operators.
Revise macro usage in 'sqliteInt.h'.
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place
it appears to work by default.
Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main
internal header file, sqliteInt.h.  Set HAVE_STRCHRNUL to 1 by default on
Linux only.