Some minor code-shuffling in the leaf page row-search code to
(hopefully) make it easier to follow, and match the internal
page binary loop.  I doubt this will speed things up, although
it should give the compiler slightly better information.
Don't call the insert list search routine unless there's an insert list
to search, it's a wasted function call in a common path.
Inline the fast-path insert-list append code and only call it when doing
a tree search, not when fixing up a cursor movement.

Rework the "appending" key so it only applies when appending to the page
as opposed to appending to any insert list (hopefully avoiding comparisons
both on leaf and internal pages where the comparison is unlikely to succeed).
Add a comment explaining the WT_BTREE.appending behavior.
Use "ins" instead of "ret_ins", it doesn't add any additional information.
Remove a comment that no longer applies (and even lint realizes it now).
Do the fast-append test before we search the leaf page.

Now that the fast-append search code is inlined, we shouldn't need to
optmize out the check that an insert list exists.
Rename __cursor_search_clear __cursor_pos_clear; it's the code that
clears a cursor's location, and is no longer unique to the search
functions.

Change __cursor_error_resolve cursor error resolution to clear the
cursor's location even if we see a failure from the cursor "leave"
function (probably a bad return from releasing a page), keeping the
cursor's location isn't likely to make anything better.

sename __cursor_error_resolve to __cursor_reset, it's a combination of
"leave the API" and "clear the cursor's location"; now that it clears
the cursor location regardless of the return from the cursor "leave"
function, we can call it from the WT_CURSOR.reset code, they're the
same.
update
Clean up __cursor_pos_clear: only clear the fields we need to clear and
initialize the other fields consistently in the search functions (for
example, slot is always set by row-store search, make it always set by
column-store search as well).

This isn't a performance change (although it can't hurt).  There are
already many fields we don't clear in __cursor_pos_clear because it's
too expensive to clear them -- this just makes it consistent, we clear
what we have to clear and ignore the rest.
Merge branch 'row-search-slim' into row-search-slim-fast-append-first
Merge pull request #1122 from wiredtiger/row-search-slim-fast-append-first

Do the fast-append test before we search the leaf page.
Merge pull request #1121 from wiredtiger/row-search-slim

Row search cleanups related to searching skip lists.