fix #653, overuse of Redis KEYS in mirror

This is a bit speculative, I think it should still do the right thing if the lists expire while they're in the middle of being processed (which was also possible with the previous code, of course). @jessereynolds, I'll need your review and signoff before merging, as you may see problems I didn't with this approach.
> Maybe we should do the refresh every time a missing value (i.e. size 0) is found in the cache?

You mean have the mirror process refresh the known_events_archive_keys (deleting references to expired archive keys) when it encounters a missing value? ... Rather than only on startup? Makes sense.

Anything would be better than redis.keys(...) once a second! :-) I am certainly going to hell.