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