Support snapshots in LSM via update checks, rather than actual updates.

The current code inserts updates into old chunks, in order to check for
conflicts with snapshot transactions. It's enough to do the conflict check
without actually updating, and doing a check saves some mess with tracking
when it's OK to checkpoint non-primary chunks.
Enhance comment.
Move the WT_CBT_CONFLICT_CHECK flag from the btree-specific cursor
structure into the WT_CURSOR structure as WT_CURSTD_CONFLICT_CHK.

It's possible we could return from the row-search function with a match
not found in the insert list, check for a NULL insert before indirecting
through it.
Trivial style changes: join a pair of lines, re-order a test so it looks
more like the test that precedes it.
Don't use a cursor flag for update checks: override the insert method instead.  This gets conflict checking out of the common fast path for updates, and avoids a new flag in the public API that we don't want to document.

refs #1047, #1057, #1060
Wrap update_check in a public cursor call, so that session->dhandle is set correctly.

refs #1060
Fix a race in the populate phase of wtperf with multiple threads.
Merge pull request #1060 from wiredtiger/lsm-snapshot-update-check-only-2

Lsm snapshot update check only, review changes.
Add wtperf option to execute lots of checkpoints during populate phase.

Useful for catching races in LSM switch.
Merge pull request #1057 from wiredtiger/lsm-snapshot-update-check-only

Support snapshots in LSM via update checks rather than actual updates.
Remove retry on EBUSY return from a checkpoint in LSM code.

The retry was added as a work around for #973. We hope that #1057 has
fixed the underlying issue.