#97 evict() now always evicts a mapping even when everything is veto'ed

It would not make a difference. `getRandomValues` will try hard - go over the whole map content - to get the number of sampled entries requested. And fail only if none could be found.
Given that, the only reason we would end up calling it a second time is genuine and doing it from here or from the inside does not change the fact that it happens once we scan the entries a second time, with a different predicate.