SetWithTTL may panic

With some configurations, Ristretto may panic on SetWithTTL instead of rejecting entries or evicting older entries. Minimal sample reproducible version: The Go Playground

Note that the playground may run it or not: for some reason, its behaviour does not appear to be reproducible: run the fragment locally instead.

Some context: discovered the problem trying to build a unit test on a cache wrapper using the OnEvict, and attempting to build a sequence causing an eviction. Found that panic instead.