Fix a bug in recovery with missing files (e.g., after a hotbackup that raced with file creation).

refs #1042
Fix some LSM latency issues:
* have merge threads periodically check whether the tree needs to be switched in case the checkpoint thread is blocked; and
* don't turn on os_cache_dirty_max by default for LSM.
I believe the clang complaint is because the skiphigh/skiplow values are
longer than the 0th key on the internal page, and when we try and skip
over the initial bytes, we read past the end of the key.  Skiphigh/skiplow
are a lot more valuable in terms of performance than avoiding the branch
instruction, give up: don't do the 0th key comparison inside the internal
loop.
Merge pull request #1051 from wiredtiger/lsm-latencies

Fix some LSM latency issues
Merge pull request #1045 from wiredtiger/recover-missing-files

Fix a bug in recovery with missing files
Change test1-4 to max out with 2 billion items.
Add custom key sorting function for times. #1052
Fix an implicit sign conversion found by clang 3.5.
Make the "leak_memory" configuration explicit in the test/format config, off by default.  Fix a leak with repeated setting of configuration values.
Update a comment, sentence no longer needed.
Assert the parent's WT_REF.home is correct in all cases.
Set the WT_REF.home; not currently used for anything, but a valid WT_REF
should never have a NULL home field.
Add explicit os_cache_dirty_max settings for LSM wtperf tests. #1051
Add code to ignore the setting if sync_file_range is not available.
Alex notes that the current code will continue running if the pluggable
decompression fails, but if the returned decompressed length isn't what
we expect, we'll panic.  For now, change the code to always panic -- it
would be simple enough to continue in this case, should we want to.
Reference #1055.
If we're in the split-deepen code, there's no need to check if we're looking
at tree internal pages, we are, by definition.
The parent page of a split must be an internal page by definition, don't
bother testing for leaf pages, it's confusing.
The parent page type must be an internal page, don't bother testing for
leaf pages, it's confusing.
When deepening the tree, don't free the newly created child pages until after
it's known that all threads have exited the original page's page index array.
This fixes two problems: first, threads in the original page index array can
see freed WT_REF structures if the newly created child pages are evicted too
soon, and at the end of the function that deepens the tree (after making the
deepen-the-tree split "real", we read through the newly created child pages
without holding hazard references.  Reference #1048.
Check on transaction release if we can release any segments from the
session's free-on-transaction generation list, we were accumulating
them until connection close, which wasn't correct.
We haven't been consistently checking for configuration options that
aren't applicable to the underlying storage types of the run (for
example, bloom filter settings for non-LSM runs).  Just remove those
CONFIG file messages, it's simpler, more consistent and less work.