Configure the walk routine to not return internal pages (we added
that functionality when checkpoint was split into multiple passes,
no reason not to use it for cursors).
Instead of hazard pointer coupling up the tree, only do the hazard pointer
couple when we move up, then back down the tree into a different subtree.
This reduces the number of hazard pointers we require by about 50%, and is
safe because the existence of the child page implies the parent page can't
be evicted.
Merge pull request #470 from wiredtiger/hazref

Rework hazard pointer coupling during cursor walks to be more efficient.