Avoid stalls with LSM trees when the cache is full.

1. Don't block indefinitely on a full cache if we're holding the handle list lock.

2. If the cache is full and we're trying to discard chunks from an LSM tree, have the eviction server give up the data handle list lock so the discard doesn't stall.

refs #1391
Have the eviction server back off if it isn't making progress to give LSM a better chance to discard trees from cache.
LSM workers should try repeatedly to evict old chunks, otherwise they can fill the cache.

refs #1391
lint