Start shifting to having shared worker threads for LSM trees.

[#1113]
Fixup LSM worker manager configuration and a couple of other things.
Hold the schema lock when switching LSM chunks.
More LSM merge worker changes.
LSM manager threads:
* Move from STAILQ to TAILQ
* Remove old LSM thread code
* Start working on closing connection cleanly
LSM manager threads.

* Fix shutdown of manager threads.
* Fix drop work unit implementation.
LSM manager threads. Fixup shutdown on close.
LSM manager threads.

* Fixup shutdown
* Move towards having multiple worker threads
* Get a bit better at scheduling merges
* Fixup closing a single LSM tree.
LSM manager threads. Only shut down manager if we started it.
LSM manager threads. Don't allow concurrent freeing of old chunks.
LSM manager threads, reference count LSM trees while they have entries on
the manager queues.

Attempt to stop a close race condition.
Fix error handling in LSM cursor open.
LSM manager threads. Fixup reference counting in queues.
Fix LSM shutdown wait condition.
LSM manager threads.

* Add a few statistics to track manager queues.
* Fix an issue with not freeing work units.
* Shut down the right number of threads.
Add new statistics to the stat_data.py file.
Fixup error handling and line wrapping.
Update LSM compact to work with shared merge threads.
Update LSM merge implementation as per Michaels review comments.

Also start implementing the LSM aggressive merge functionality with
shared LSM worker threads.
Merge branch 'develop' into lsm-shared-workers

Conflicts:
	src/lsm/lsm_worker.c