Clarify cache behaviour

I had to look carefully at the code to figure out why my TTL was being ignored, so I added a comment.

I also found that LRUCache doesn't correctly handle a ``max_size`` of 0.