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).
@michaelcahill, I'm confused by this change -- is there anything more going on here than "if we can't get the lock, other threads are in the eviction queue"?

Once we've decided the server needs to be involved in eviction, maybe we should just proceed?

Another approach might be simpler: what if we added an atomic counter in `__evict_lru_pages` that tracked the number of application threads doing eviction?   If it's non-zero, the eviction server doesn't need to be involved in eviction.

I also vaguely recall a branch we had that had some waiting eviction threads?  We could certainly co-opt the handle-sweep thread to do eviction, too -- was there a reason we decided some number of cached threads hanging around to do eviction wasn't as good as letting the eviction server do the work itself?