Async callbacks with redis backend

I have implemented async callbacks for the Redis backend.

This is done using the `tornado-redis` package to subscribe to the Redis PubSub event that is emitted when a task result is published.
This module seems unnecessary. examples/tasks.py can be used instead by assigning celery.conf.CELERY_RESULT_BACKEND to 'amqp://' or 'redis://' based on the command line or environment variable.