Row search cleanups.

@michaelcahill, some (hopefully) minor row-search cleanups that have been on my list for awhile.

There are a couple of possibly interesting changes (which is why I didn't just merge this branch), I'll call them out separately in the code.
@michaelcahill, this is one of the interesting changes: I don't want to make a function call just to find out there's no insert list, that's a common path, so I moved this check into the row-store search function.  I believe the code in `__cursor_skip_prev`:

```
while ((current = cbt->ins) != PREV_INS(cbt, 0)) {
        if (cbt->btree->type == BTREE_ROW) {
                key.data = WT_INSERT_KEY(current);
                key.size = WT_INSERT_KEY_SIZE(current);
                WT_RET(__wt_search_insert(session, cbt, &key));
```
never calls `__wt_search_insert` if there isn't a search list, and so this was dead code when called from that function, but would you please confirm that?