Close the checkpoint and statistics logging server thread's sessions
and free their hazard arrays.
Add a count of pages queued for forced eviction.
Add a statistic to track the pages we walk.
Ignore root pages entirely during LRU eviction (that way we'll never have
to update their read generations, which is shared data).
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.
Merge branch 'develop' into checkpoint-perf