Redis migration

This is the code for the redis migration backend.

It takes an old and a new backend, and tries to copy existing keys to the new database before answering anything.
+1 for issuing a warning.

What I want to prevent is to do a flushdb on the existing database (with all the data, from which we're migrating from). 

flushdb was introduced in our tests, and I don't think any tool should be able to run a flush db on an environment different than testing.

I see different ways to workaround this:
1. add a "force" argument, so it's explicit you're about to do something you shouldn't be doing;
2. have the clients do the flushdb themselves and not support it (that's what we're doing here).

I don't think doing it silently would ever be a good option. If you really want to do it, I believe you will find a work around, and the risk of flushing the db is higher than the cost of finding a way to get around the backends limitations (IMO).