Split the btree page search loops into two parts.

This change splits the btree search loops into two parts, a default comparison loop and an application-specified collator comparison loop, and gets me about 5% improvement in random search performance.

Reference #839.