Retry tasks if they failed with ResponseException

Retry will be called three times in three-minute intervals by default. The exception _exc_ will be re-raised if the max number of retries has been exceeded.
I don't think we should log an error for each retry because it can make it hard to distinguish between the tasks that failed and the ones that succeeded after a retry.
But I agree that this won't solve the problem of the tasks not being run. I will look into the acks_late setting for that: http://stackoverflow.com/questions/5336645/retry-lost-or-failed-tasks-celery-django-and-rabbitmq. If we add it for all tasks we should make sure nothing bad happens if they are run twice.