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.
@tarekziade currently, the backends are doing the flushdb. that's something we want to remove and do only if the environment is set to TEST. Currently, only the redis_migration backend is doing this check and not doing any flushdb in case it's called.

The plan is to do this on each backend, and check what the environment is there.