Eviction under load

While looking at #1068, one thing I noticed is that the eviction server thread can get "stuck" in eviction (particularly splits), and that other threads stall.  This branch attempts to address that in two ways:

1. if other threads are waiting to do eviction, the server thread just wakes them up and keeps scanning for more pages to add to the queue; and
2. an idea of Keith's: application threads only get involved with eviction when their session is quiet if they have missed in the cache recently while it was full.

For me, this branch helps quite a lot with the workload from #1068 (separately or together with #1082).
That's kind of surprising -- we're only yielding a single core, why aren't other threads getting to the queue?