This is the logic that makes me think a new ref state might simplify things (WT_REF_FORCE_EVICT?).

Then this block would turn into:
```
    (void)WT_ATOMIC_CAS(ref->state, WT_REF_FORCE_EVICT, WT_REF_MEM);
```