Improve and simplify the LSM switch logic: it is fine to keep writing into a chunk while it is being switched, until either it hits the hard chunk size limit or a switch transaction ID is chosen that is larger than the writer's.  Fixes an assertion failure introduced by #1432 that could write to an old chunk after the switch completed.

refs #1432, #1418
Don't try to find a chunk to flush in empty LSM trees.
Take more care to only set NEED_SWITCH once when a chunk becomes full.
Make sure that the LSM tree is set up to trigger a switch before looping in __clsm_enter_update.
Merge branch 'develop' into lsm-switch-simplify
Clarify the use of randomness in chunk selection for flushes.
Prepend third party libraries we supply to the front of the os.path list.
Refs #1394.
SESSION->drop with "force" of nonexistant index/colgroup should be silent.
Refs #1436.
Merge pull request #1450 from wiredtiger/parallel-test-dep

Python testing: prepend third party libraries we supply to the front of the os.path list.
Deal with the case where there is no chunk in an LSM tree to flush.
Lint.
Merge branch 'develop' into force-drop
Fixup result of merge into develop.
Implement @agorrod's review feedback.
Merge pull request #1455 from wiredtiger/force-drop

Force drop
Merge pull request #1449 from wiredtiger/lsm-switch-simplify

Improve and simplify the LSM switch logic
Change timing to allow archive thread to complete on tests that
do archive.  Since this can make each test run substantially longer,
reduce the number of tests that are doing archive from ~4000 to
something under 100. Refs #1452.
Merge pull request #1457 from wiredtiger/log-archive-timing

Change timing to allow archive thread to complete on tests that do archive.
Merge branch 'develop' into overflow-relax
The style scripts complain about trailing semi-colons in Python code,
get rid of one in a comment.