whitespace
Minor shuffling, don't clean up if we've not initialized various things.
Complain if we can't call wiredtiger_open or create a session.
Compression changes.

Change compaction to attempt compaction any time it looks likely we can
recover the last 10% of the file, and, for now, to only attempt to
recover that last 10% of the file.

Don't rewrite a block if there isn't a useful available block in the
first 90% of the file.  (Previously, compacting the whole file in one
pass could end up re-writing blocks to available blocks at the end of
the file which isn't useful, and, in some cases, even extending the
file.

The reason we're only compacting the last 10% of the file is that we
will need to checkpoint periodically otherwise re-written blocks, which
should be the new, available blocks for compaction, won't be considered
because they're still in use.  Doing that automatically will be the next
set of changes.

Change compaction to use first-fit allocation instead of best-fit so
we're always copying to the beginning of the file if at all possible.
Add WT_SESSION::create "block_allocation" configuration string, allows
applications to configure first-fit.  Change test/format to use the
first-fit algorithm 20% of the time.

Remove the WT_SESSION.compact "trigger" configuration string, it's no
longer used.

Rename WT_SESSION::create "allocation_size" configuration string to
"block_allocation_size" to match "block_allocation" and
"block_compressor" configuration strings.

Inline the block extension search functions, they get called a lot.

Add "compact" verbose debugging string.

Fix a bug where a spinlock could be left held by compaction.
enhande/fix a few comments, conn->session_array no longer exists
Merge branch 'develop' into compress
Fix a few instances of "hazard reference" wording that crept back in.
Now that compaction only operates on 10% of the file at a time, repeated
compaction is necessary in order to compact the complete file.  Split
out compaction into a new session/XXX file, and add a really big comment
to try and explain what's going on.
Add a page on compaction.
Note that compaction works on live data sources.
Note that named checkpoints can stop compaction from succeeding.
Be less vulnerable to comments that look like function calls (not really
a fix, kind of a band-aid).
Use statistics to figure out if compaction was successful, that means
we can test for success on tables, not just files.

Fix the verbose block manager code that displays where the available
space in the file lives to handle big memory chunks that cross lots
of different buckets.
We no longer need os.
Go back to "allocation_size" to avoid breaking the world.
Merge pull request #756 from wiredtiger/compress

Compression review.
Fix a few GCC warnings:

block/block_compact.c:186:3: error: cannot optimize loop, the loop counter may overflow [-Werror=unsafe-loop-optimizations]
block/block_compact.c:193:119: error: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'long long' [-Werror,-Wformat]
Only pass "block_allocation=" if test/format is overriding the default.
Fix more gcc format warnings:

block/block_compact.c:193:119: error: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'long long' [-Werror,-Wformat]
block/block_compact.c:202:124: error: format specifies type 'intmax_t' (aka 'long') but the argument has type 'long long' [-Werror,-Wformat]
Fix yet more warnings from gcc 4.6:

block/block_compact.c:193:165: error: conversion to 'long unsigned int' from 'off_t' may change the sign of the result [-Werror=sign-conversion]
block/block_compact.c:203:170: error: conversion to 'long unsigned int' from 'off_t' may change the sign of the result [-Werror=sign-conversion]
Merge branch 'develop' into fine-grained-durability

Conflicts:
	dist/api_data.py
	src/config/config_def.c
	src/include/flags.h
	src/include/wiredtiger.in