Clean keys that are not used anymore on exit

Sometimes it makes sense to clean up after ourselves. This prevents Redis database from getting too big, if we use different prefixes. For example, when doing concurent crawls from different processes, you might want to give them different prefixes so keys don't collide. If you base those prefixes on something like process id, thread id or timestamp, there's a good chance you will shoot yourself in the foot and your Redis will go tits up quite soon. This commit prevents that, when using Redis backend. Similar changes would be needed for other storages.