There's magic code to handle overflow records that have been deleted but
still need to be visible to othread threads (see bt_ovfl.c for lots more
information).  We were using WT_RESTART returns from the overflow read
function to handle this, but that led to a bug where, if the read of an
overflow item returns restart, the cursor may have already moved past
the entry, and so restart potentially skips a row.

Row-store used to store cached "deleted overflow" items each row's
WT_UPDATE list, while column-store stored cached "deleted overflow"
items in the page's modify structure.  Change row-store to do the same
thing as column-store, and then change the system to pass enough
information into the overflow read function that it never needs to
return restart, it can simply look-aside into the cached entries as soon
as we realize we're reading a "deleted overflow" item.

This means restart is now only returned as a result of modification
failure, remove a bunch of restart handling code.
Add code to discard cached overflow records that are no longer needed,
based on the transaction ID with which they were stored and the current
oldest transaction ID in the system.
Merge branch 'develop' into overflow-restart
Fix a comment.
Fix a bug where last_running was used instead of __wt_txn_visible_all,
the latter is correct.

Fix a bug where we weren't locking the WT_OVFL_TXNC structure on wrapup,
we have to lock out readers if we're going to clean up the list.  Since
we call wrapup regardless of there actually being items on the overflow
lists, check the lowest level of each skiplist before doing any work at
all -- this change applies to all 3 lists, might as well save the work.
Fix the visibility test for obsolete cached overflow items.

refs #726
Further fix of overflow caching: the repeated visibility check here has the same issue we had in the memrata code.  Use the same solution: read the oldest ID once before checking anything.

refs #726
Merge pull request #726 from wiredtiger/overflow-restart

Remove restart return from overflow reads.
Merge branch 'develop' into statistics-split

Conflicts:
	src/btree/bt_ovfl.c
cfg->report_interval might be 0, just sleep a second at a time.
Fix the code for displaying the statistics, they weren't getting written.
Turn off statistics reporting in runner scripts.
Change the default statistics configuration from "fast" to "none".
If the default statistics setting is "none", we have to configure
statistics to test.
Add clear to the connection statistics configuration and remove "clear"
from the statistics_log configuration.

Add error checking, if you specify something like "statistics=(fast,all)",
it should fail.

Write some more statistics documentation.
If an error occurs early enough, conn->sessions won't have been
initialized.
Add error tests for bad combinations of statistics configurations.