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.
Well, that could be done in the dest, actually, I guess it just felt more natural to have it in the source as it was about source data. But thinking about it, it's knowledge only needed at the destination end...