Avoid searching if an iterator is already positioned correctly.

Some fiddling to avoid const warnings.
Fixup cursor search optimization in WiredTiger.
Add some comments.
Merge pull request #1 from wiredtiger/iterator-search-opt

Avoid searching if an iterator is already positioned correctly.
merge master
Don't try to cache cursors across recovery units.  This avoids problems where cursors stay cached and block subsequent drops or renames.