Add a test that attempts a backup while a bulk load is happening.
Merge branch 'develop' into backup-bulk
Finish writing the test, test both the same and different sessions
so we test both the session and database handle cache behaviors.
Merge branch 'develop' into backup-bulk
Merge branch 'develop' into backup-bulk
Merge branch 'develop' into backup-bulk
Fix an LSM bug where cursors were not checking all chunks for existence.

To fire, this bug required that a thread race inside __clsm_open_cursors, then
some of the cursors on the oldest parts of the LSM tree were closed.

In the process of fixing this and checking the cursor state at the end of
__clsm_open_cursors, add a flag to track if chunks are empty on disk without a
checkpoint.  Don't repeatedly reopen all cursors in that case.

refs #670, #671
Nit
Merge pull request #671 from wiredtiger/lsm-close-cursor-fix

Fix a bug where searches in LSM trees could return WT_NOTFOUND for items that are present.
We only care about the return/WT_RET tokens, not things like "returning"
in a comment.
"make check" wasn't passing, the truncate-range example is doing a search
for a non-existent key, and a subsequent cursor::compare is noticing the
key isn't set.
Change WT_CURSOR::insert to not hold a position/resources in the tree on
success.

Add additional wording that WT_CURSOR::reset should be called after any
of the WT_CURSOR search, search-near, update or remove methods, once
the cursor is no longer being used to iterate or retrieve values.

Closes #587.
Make hot backups work concurrently with files being bulk-loaded.

In summary: we don't copy hot-backup files; when we load the hot backup
metadata file during WiredTiger startup, if there are entries in the
metadata file without a valid checkpoint, we assume they're bulk-loaded
files and re-create them with no contents.

Implement Alex's idea: don't walk the metadata file in the hot-backup
code looking for 'file:' objects, instead use __wt_meta_btree_apply()
plus a callback instead.

Clarify __wt_conn_btree_apply() and __wt_meta_btree_apply(): we talk
about EBUSY errors, but all we can handle are bulk-loaded files.
Rename __wt_conn_btree_apply_single() to __wt_conn_btree_apply_bulk(),
and change it to only operate on bulk-loaded files.

Increase the size of the metadata backup line we can handle from 512B
to 5KB; this should be a dynamic value, but I'm not going to do it right
now.

Reference: #570, #653.
Merge branch 'develop' into backup-bulk-number-2
Back out the change to __wt_conn_btree_apply and __wt_meta_btree_apply:
it broke test/fops.  It's not required for hot-backups to work, remove
it entirely.
Have LSM actively reset cursors when not holding a position.
Merge pull request #673 from wiredtiger/cursor-insert-change

Change WT_CURSOR::insert to not hold a position.
whitespace
Do update operations in test/format's col_update function so the position is preserved.
Merge pull request #674 from wiredtiger/backup-bulk-number-2

Hot backup of files that are being bulk loaded.