Preload internal pages into file system cache with compression.

Previously the functionality only worked without compression enabled.
data-type is primary, not the format, flip the status printf.
Relax the type configuration string checking, it can be any application
extension data-source, not just file or lsm.
Stop any attempt to layer LSM on top of anything other than a btree
in the API.
Loosen up the API check, dump/load passes in unmodified metadata strings,
and they potentially have both source and type values.  Let source through,
and only complain if the type doesn't match the URI.
whitespace
Allow arbitrary data source types for indices as well as column groups.
Merge pull request #545 from wiredtiger/relax-types

Allows arbitrary data sources to be configured as a "type" underneath column groups or indices.
Build fixes for gcc 4.1.2.
Add LSM to the list of data sources for which we don't do verification
or salvage -- I'm betting this will allow test/format to regularly run
LSM tests.

Minor simplification to open/close patterns in the main driver code,
compare against the Berkeley DB data set after salvage, if possible.
Fix a bug on systems without O_CLOEXEC which would silently ignore
O_DIRECT configuration.
Clean up the comments around the laundry list of configuration, no
real change.
O_DIRECT is a global flag for the engine, which requires file page allocation
sizes be at least as large as the required alignment (4KB on Linux).  We've
been relying on the application to do the right thing by configuring
allocation_size=XXX as part of the WT_SESSION.create call, but that isn't
sufficient, as there's no way to set the page allocation size for our internal
files (in the Facebook case, WiredTiger.wt).

Add code to silently change any file allocation size to at least as large as
the buffer alignment we're using, plus, if it's not a multiple of the buffer
alignment, increment it to the next largest multiple of that value.  The
former is known to be necessary, the latter is because I think it's likely to
be necessary and I can't prove it's not.  (And I'm tired of screwing around
with this.)

One minor code shuffle, we've been passing the the file allocation size to the
block manager on create and truncate, doing that same thing for open removes
the last place in the block manager that looks up the allocation size, which
is probably the right simplification to make.
Because the internal and leaf page maximum sizes must be a multiple of
the allocation size, we have to make the same direct I/O adjustment to
them that we do for the allocation size.
Update release doc packaging script.

Improve how it deals with minor release bumps.
Be more aggressive with LSM throttling if checkpoints fall behind.
Don't pin chunks in cache when cursors are open on LSM trees.

We only need to hold the position while an update operation is in
progress.
Bump the primary chunk reference count before releasing the LSM lock.
Fix support for custom collators with LSM trees.
closes #544
Merge pull request #548 from wiredtiger/lsm-many-threads

Be more aggressive with LSM throttling if checkpoints fall behind. Don't pin chunks in cache just because cursors are open on LSM trees.