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.
Use the local variable, don't repeat the retrieval (the compiler should
figure it all out, but it still looks wrong).
Another bug caused by an uninitialized WT_ITEM structure combined with an
uninitialized key, found because all keys are no longer instantiated during
a test/format run.
Restructure the code to avoid instantiating the key until it's necessary.
Clean-up callers of __wt_row_leaf_key: use a scratch buffer instead of
a fresh WT_ITEM, and in one place, don't clear/free the buffer on every
instance of a loop, do it a single time outside of the loop.