Delay freeing the checkpoint's alloc/discard lists until the resolution
step, that should help eviction continue sooner.
Merge branch 'develop' into wait-on-free
Clean up the fast-delete code (part of doing a review after merging the
new-split branch into develop).

Specific changes:

The code to rollback a fast-delete change has to loop, it's possible for
the instantiation to fail, returning the page to "deleted" status.  Add
a comment clarifying why we can't read a copy of the page (we don't
always have an open cursor on the tree when rolling back a transaction).

Add a new function __wt_page_parent_modify_set that dirties a parent
page.  It's only used in a couple of places, but it has a comment
explaining why dirtying a parent page is safe even in the face of
on-going splits that might be deepening the tree.

Note, these changes aren't sufficient for fast-deletes in the new-split
branch: while it's safe to update the single, instantiated page in-place
once it's set to an in-memory state (there is obviously an unresolved
transaction, the page isn't going anywhere), the problem is if the page
were to split.  In that case, the changes could be spread across
multiple physical pages, and the transaction unroll won't find them all.
Make lint happier, list the WT_REF states we're ignoring.
WT_REF_SPLIT is possible, I believe, and it's a problem.
typo, introduce an infinite loop into the test suite.
Reduce the leaf page size from 1MB to 32KB.
Change format test to focus on smaller key/value items.
Don't drop core if the maximum value is smaller than min + 20.
imported patch compact-test-fix
Merge pull request #950 from wiredtiger/reduce-leaf-page-size

Reduce leaf page size
Check that we don't try to discard pages that are splitting.
The posix_fallocate call on Linux is corrupting already written data,
add locking around it and the ftruncate call when either are being
used to extend the file in chunks.

Add configuration support for the Linux-specific fallocate() call, it's
the only one that doesn't appear to corrupt already written data.
Missing WT_RET(), don't lose the error.
Don't try and extend the file unless we have a valid offset.
Fix the problem where a truncated/deleted page might split (meaning
there's no single place the truncate abort can go to find the list
of WT_UPDATE structures).  The primary change is to replace the
WT_REF.txnid field with the WT_REF.page_del field.  The new field
holds both the transaction ID, and, if necessary, an array of
WT_UPDATE structures so abort can find them even after the page splits.
Minor cleanup to simplify the tree-walk code, simplify function naming,
too.
Merge pull request #951 from wiredtiger/new-split-fast-delete-2

Fix the problem where a truncated/deleted page might split.
Merge pull request #948 from wiredtiger/new-split-fast-delete

Clean up the fast-delete code (review after merging the new-split branch).
When checking whether clean pages can be evicted from cache, ignore updates that are only pinned by the checkpoint transaction.
Have checkpoint skip over leaf pages that were clean at the beginning of the checkpoint but dirtied later.