Add code to split pages in memory if we are failing to evict them.

We may be failing to evict them if they are being updated from many threads
concurrently. If we don't split those pages will continue to grow, and will
cause threads to attempt forced eviction agressively.
Merge branch 'develop' into split-hot-pages
Merge branch 'develop' into split-hot-pages
Implement the rest of splitting pages in memory if they can't be evicted.
Play with the code order so that memory management is cleaner.
Fix the WT_REF linking of the new pages.

Add in a hack so that swapping in the split works as expected.
Some tweaks to evicting larger pages now that page splitting is implemented.

* Don't retry forced eviction as often. With multiple threads retrying 100
  times in each thread can cause starvation and never get the pages out.
* Attempt to split pages once they become twice as large as the configured
  maximum.
* Setup newly split pages to be evicted.
Changes to page splitting as per review comments.
Move page split code into rec_split.c source file.

Some related function renaming. Also a bug fix from the previous commit.
Only attempt to split a page in memory once.

Also attempt to split the first time reconciliation fails due to un-writable
updates, rather than waiting for multiple attempts.
Lint
Don't start the worker threads until everything else is done: it's
simpler, and we can remove the worker thread code to keep the worker
threads from racing with connection initialization.  Ref #619.
Add the WT_SESSION.create prefix_compression_min string configuring the
number of bytes that must be gained before prefix compression activates,
with a default of 4.

Quit documenting the WT_SESSION.key_gap configuration string: it's only
used when instantiating keys as the result of a reverse cursor scan, I
don't think it's interesting enough to surface to applications, at this
point.

Ref: #622.
Merge branch 'develop' into worker-threads-last
Change "configured" to "enabled" for clarity.
Merge branch 'develop' into prefix-compression-min
Add pointers to bulk-load in a few places where it might be useful.
Ref #590.
Merge pull request #624 from wiredtiger/prefix-compression-min

Add a minimum saving before prefix compression is applied to keys.
Clean up __wt_eviction_page_force function.

Also move split flag from modify structure to the page.
Merge branch 'develop' into split-hot-pages