Add a comment about the cache full percentage calculation.
Get a read lock during __wt_lsm_tree_worker to avoid racing.

We could use `__lsm_copy_chunks` instead if this change causes measurable contention.

refs #748
Add a statistic of the number of bytes currently available in the file
for re-use.
Clear out the returned table reference in all cases so we don't have
garbage in the caller.
Don't release a table unless we actually got a table.

Don't allocate a buffer until we get a table, getting a table is what
will fail.
We can't default the cursor's statistics configuration to "fast", the
cursor default is whatever is configured for the database itself, and
setting the cursor's configuration to a default  hides that information.
Remove lsm_tree readlock and use an atomically set flag. #748
Merge branch 'develop' into deadlock-fix
Move call to set busy flag into function modifying chunk array. #748
Move the LSM tree lock inside the schema lock.

refs #749
Fix LSM switch logic: we want to switch if the most recent chunk is on disk.
Merge pull request #751 from wiredtiger/deadlock-fix

Fix a deadlock in LSM
Clarify that you can use tar or some other file archiver to do hot
backups.
Move WT_HAZARD_INCR to the WT_SESSION_IMPL structure.
Get rid of ENTRY_SIZE (it's not in the right namespace, and it's only used
in one place as a hard-coded constant).
Rework WT_UNUSED/WT_UNUSED_RET slightly: move GNUC macros out of misc.h
into their own include file "gcc.h", change the test programs to include
and use the definitions from that file.
Don't limit block rewrites to the last half of the file, if we can make
things better, do so.

Don't try and rewrite blocks if there aren't any available blocks, that
can happen if the compaction trigger is small enough in comparison to
the blocks available.

Fix a bug where we'd NOT skip the block on error.
Create a special isolation level for eviction.

This avoids futzing with the transaction context, and also means that eviction of large pages is (slightly) more likely to succeed, because the oldest ID can move while reconciliation is splitting the page.
Only try eviction if there is a good chance it will succeed.
Don't queue pages for eviction unless there is a good chance it will succeed.