Now that we increment / decrement handle reference counts in the session layer, they should start at zero.  Otherwise, we could never sweep handles.
whitespace
Change LSM cursor opens to only require the data handle lock.  Defer creating the first chunk in the tree until the first update cursor is opened.

refs #1391
Fix creation of the first chunk in an empty LSM tree: wait on the first update operation.

refs #1391, #1392
lsm_cursor.c:28: warning: 'primary' may be used uninitialized in this function
Cache all data handles in the session cache.

refs #1391
Ensure the read only flag is set in time for LSM.

Otherwise we can wait forever doing a read on an empty LSM tree.
Fix a deadlock involving eviction: don't block on the handle lock, and don't have exclusive operations drop and reacquire the handle list lock.

refs #1385, #1391, #1392
Fix a case where a database-wide checkpoint could cause a bulk cursor open to fail with EBUSY.

JIRA-16236
Fix cases where applications try to update a value using a pointer into the same buffer returned by get_value.

refs #1393
Switch the LSM exclusive atomic flag to an ordinary field and fix a locking bug.  It's too easy to mix up atomic with non-atomic flags within the one struct.
Only clear the LSM exclusive flag when releasing a tree if it was set, and before decrementing the reference count.
whitespace
Merge branch 'develop' into log-recycle

Conflicts:
	src/conn/conn_log.c