Create Bloom filters whenever waiting to do a merge.  Remove the 'lsm_bloom_newest' configuration, since this change makes it redundant.

refs #591
Add support for tracking which spinlocks block other spinlocks and
displaying it as part of the logged statistics.
Fix the logged format, the home string was missing.
Register the spinlock even if we are about successfully get the spinlock
we want.

Only save the strings we want, save on processing time when dumping log
records.
For now, the spinlock logging code is always configured, remove last parts
of HAVE_DIAGNOSTIC version.

Add in new file, support/mutex.c.
Merge branch 'develop' into lsm-bloom-newest
Merge branch 'develop' into mutex-logging
Fix a comment.
Increment skipped if we skip a chunk because the refcnt is non-zero.
Reference #713.
Make sure the tree is marked dirty before the page is marked dirty.
(The tree's modified flag is cleared by the checkpoint thread, set it
and insert a barrier before dirtying the page, don't let checkpoint
get in and clean the page before we've managed to dirty the tree.)
I hoped this was #713, but apparently not -- regardless, it's a better
way to shape the world, leave it in.
Update comment.
__wt_conn_btree_apply should not process at checkpoint handles.

Refs #709.

There are currently two callers of __wt_conn_btree_apply:
 * Checkpoint, which skips handles open on checkpoints.
 * Global statistics dump, which ignores the checkpoint flag on handles it
   retrieves, so will end up dumping statistics for a file twice if a
   checkpoint handle is open.
Only clear the "no eviction" flag in LSM after the checkpoint has completed.  Otherwise, checkpoint will try to forcible evict the leaf page.

refs #713
We require 8B atomic updates, there's no reason to restrict the
statistics-based atomic updates to 4B.
When dumping addresses, blocks or pages, dump out each checkpoint's
root page information.
When adding metadata information to the list of chunks we've verified,
note what they are so it's easier to figure out the file's layout.
Bug, we're returning a random root-address length because the calculation
used the wrong variable.
Bug: we were using the length of the address as the bytes read into
the cache rather than something even close to correct (like the number
of bytes we instantiate in the cache).
The stat "clear" function isn't correct for initialization because it
ignores some fields, its intent is to clear specific fields between
stat calls, not clear the whole structure.  Add clear functionality
to the stat initialization function so it can be used to refresh stat
structures.

Change the name of the stat "clear" function to "refresh" so nobody
makes this mistake in the future (but don't drive that change out to the
application-level, "clear" is still the right way for the application
programmer to think about this).

Change the LSM and the table statistics aggregation code to always call
the statistics structure's init function, that will clear any previous
values.
Rework the statistics logging code to aggregate information from any
open handles, so, for example, the statistics from open checkpoint
handles will be logged.

Rework the statistics logging code to call __wt_curstat_open rather
than using application-level calls, that matches LSM's behavior and
I think it's cleaner and more correct.

This changes __wt_conn_btree_apply() to take a new argument flagging
it's supposed to return checkpoint handles as well as non-checkpoint
handles.

Ref #709.