Backed out changeset 21e52e54ea4d
Merge branch 'develop' into fast-checkpoints
Re-enable fast checkpoints.
Merge branch 'develop' into fast-checkpoints
Merge branch 'develop' into fast-checkpoints
Merge branch 'develop' into fast-checkpoints
We don't have to restart the search from the top of the tree after a
page splits; we're holding a hazard pointer on the page's parent and
we can simply restart the search in that page.  This won't make things
any faster, I don't think, but the code makes more sense this way.
Fix an ordering problem that was causing the default build to be "-O2
-g" instead of -O3.

Calling AM_OPTIONS before AC_PROG_CC doesn't work because CFLAGS is set
by the time AM_OPTIONS completes and we can't figure out if the command
line set CFLAGS or not.  Calling AM_OPTIONS after AC_PROG_CC isn't great
either, if --enable-debug was specified we want to default to "-O2 -g"
instead of -O3.

The autoconf docs say this about the AC_PROG_CC macro:

	If using the GNU C compiler, set shell variable GCC to yes. If output
	variable CFLAGS was not already set, set it to -g -O2 for the GNU C
	compiler (-O2 on systems where GCC does not accept -g), or -g for other
	compilers. If your package does not like this default, then it is
	acceptable to insert the line : ${CFLAGS=""} after AC_INIT and before
	AC_PROG_CC to select an empty default instead.

List of changes:

	Call AC_PROG_CC before calling AM_OPTIONS, back out defaulting
	CFLAGS to -O3, if --enable-debug is configured.

	Move the libtool configuration until after the compiler, language,
	API and configuration options have been dealt with.  This isn't a
	necessary change, but seems cleaner to me.

	Don't bother appending the -g flag to the existing flags when
	--enable-debug is configured, AC_PROG_CC sets -g by default.
Remove the "--enable-debug" option to configure: users can just as easily set CFLAGS="-g".
Remove Java and Python build rules that relied on "--enable-debug".  Always require junit to test the Java build, and don't turn on the "-g" flag in the Python build: we're not debugging the glue code in general.
Merge branch 'develop' into fast-checkpoints
Add wtperf run script to take avg of multiple runs.
Add LD_LIBRARY_PATH because some tests need snappy.
Changes to speed up retrieving a key from a leaf page.

If we roll-backward through a set of prefix compressed keys where the
prefix doesn't decrease, we don't need to roll forward through them, we
can start our roll-forward at the key that was the first we found with
the smallest prefix.

Don't bother allocating a temporary WT_ITEM if we don't need to, if we
are just taking the cell's bytes from the page, there's no additional
work that's necessary.
Skip a couple of function calls just to figure out we don't need
to grow the return buffer.
Merge pull request #970 from wiredtiger/faster-leaf-key

Changes to speed up retrieving a key from a leaf page.
Inline the buffer-size check parts of the standard scratch buffer
functions in a new inline file, include/buf.i.

Remove a couple of inlined buffer size tests, they're no longer needed.

Fix a few places to use __wt_buf_extend instead of rolling their own
versions.
Use per-cursor temporary memory to hold search keys during binary search
of the page, avoiding instantiating keys during a search.  This speeds
up a single access to the key by avoid atomic operations and temporary
buffer and memory allocation during the search, but at the cost of not
speeding up subsequent searches on the same page).
Fix a comment, the row-store leaf page search loop no longer instantiates keys.
WT_ITEM wasn't being cleared, so if the key was not instantiated we
dropped core.  Format reads every key it inserts, and that action was
instantiating the keys, now we're not instantiating the keys, we hit
the bug.