Reduce the amount of memcpy() required by defragmentPage().
Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress.
Attempt to further reduce memcpy() in balance_nonroot().
Further work on balance_nonroot().
Merge trunk changes into this branch.
Fix some code duplication issues on this branch. Add minor optimizations to the new code.
Merge latest trunk with this branch.
Add the SQLITE_ENABLE_API_ARMOR compile-time option.  This is a work in
progress and is not yet completely functional.
Fix two problems.  Tests now passing.
Fix some minor formatting and code organization issues.
Fix some issues in the new code on this branch related to the handling of corrupt databases.
Ensure that the "Any prior cache entry associated with newKey is guaranteed not to be pinned" guarantee made to xRekey implementations is not violated.
Further modifications to new code to better handle corrupt databases.
Merge trunk with this branch.
If a free-slot is found within a page, but using that free-slot would fragment the page further and there are already at least 60 fragmented bytes, degragment the page. This matches the behaviour of the trunk.
Add test file e_wal.test.
Optimizations aimed at reducing the number of memcpy() operations required by balance_nonroot().
Fix an unused variable in btree.c:allocateSpace().
Add the SQLITE_ENABLE_API_ARMOR compile-time option for extra API parameter
validation.  Enhance sqlite3_stricmp(), sqlite3_strnicmp(), and
sqlite3_uri_parameter() for improved NULL parameter handling.
Fix a typo in the macro name of an #ifdef