Try harder to cleanup after a failed wiredtiger_open call.

References issue #427
Tweak merge to build better trees with random insert workloads.
Fix a comment.
Fix some whitespace.
Panic if we find a block on the wrong list, that's not something we can
recover from.
Fix comment.
whitespace
If a page is reconciled (causing it's on-disk blocks to be free'd and
potentially recycled), and then a subsequent collapse of a stack of
split-merge pages replaces that page with a page that has not yet been
reconciled, we can potentially free the same blocks twice.  The fix is
to clear the page's WT_REF.addr field at the time we free the blocks,
so future reconciliations will ignore the original disk blocks.

Explicitly free the disk blocks instead of copying them into the
reconciliation tracking array and then freeing them, that gets rid of
the __wt_rec_track_onpage_ref() function, will be faster for a common
operation, and isn't logically different, the next step is to free the
blocks anyway.
Reduce the skew against evicting internal pages.
More tweaking of merge: don't promote if there are no live children.
Keep track of the size of the WT_REF array in internal pages (including WT_ADDRs), transfer that when merging.
Add an estimate of per-allocation overhead.
Minor style change, don't test pointer as if it's a boolean, don't check
if a pointer is NULL before freeing it.
Merge pull request #482 from wiredtiger/open-cleanup

Try harder to cleanup after a failed wiredtiger_open call.
Minor cleanup of the WT_COMPRESSOR docs, list all of the possible structure
members.
Merge branch 'develop' into merge-opt
Remove refsize from internal pages, figure out the amount of memory being transferred during merge.
Allow most merges while checkpoints are in progress.
Merge pull request #483 from wiredtiger/merge-opt

Tweak merge to build better trees with random insert workloads.
Fix merges in column stores: don't look inside ref->u.key.