LIRSCache defect allows it's memory use to grow without bound
Description
Hello! I was messing around with the LIRSCache and ran into what I think is a bug.
https://github.com/clojure/core.cache/blob/master/src/main/clojure/clojure/core/cache.clj#L371
In the case of a bunch of misses on unique keys, then the stack S will grow without bound and violate the limit that you give it.
You can see that the S stack is growing without bound, and if you do (populate 1000), then it is 1000 pieces large.
I'm not sure what the desired outcome is, but any time we add something to one of the queues, we need to make sure that we're doing the right thing with what is kicked out, unless I'm misinterpreting things.
Thanks for making Clojure awesome!
Environment
None