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 think it would be also nice if you logged the exceptions as errors. (This goes for all of the tasks.) Then maybe if this doesn't fix it we might have a better chance of figuring out the real problem. Though maybe thats silly because the exception should still be thrown after the 3rd retry if its still failing.

Also the more I think about it the less confident I am that this will solve the problem of our tasks not getting run. If it really was an exception there should be in New Relic somewhere. But I don't think it would hurt to try.