Don't grab the checkpoint lock every time we update LSM metadata.  We often have an exclusive lock on the LSM tree at this point (blocking ordinary cursors), so waiting on the checkpoint lock here can show up as application latency spikes.

The reasoning for waiting here was if a checkpoint is in progress, the LSM metadata could become out-of-sync with the tree.  That is, the LSM metadata could reference a chunk that is not part of the checkpoint.  But that is already prevented by the schema lock: chunks cannot be added or removed from the tree without first getting the schema lock, and checkpoints hold the schema lock throughout.
Don't do "bad" merges just because we have multiple threads: only consider small merges after getting aggressive.
Merge pull request #724 from wiredtiger/lsm-optimizations

Some LSM optimizations