title: Celery chain breaks if one of the tasks fail
body: <p>What is the point of Celery chain if the whole chain breaks if one of the tasks fail?!!</p>
  
  <p>I have this Celery chain:</p>
  
  <pre><code>res = chain(workme.s ( y=1111 ), workme2.s( 2222 ), workme3.s( 3333 ),)() 
  </code></pre>
  
  <p>And I made workme2 fails with retries like this:</p>
  
  <pre><code>@celery.task(default_retry_delay=5, max_retries = 10, queue="sure") 
  def workme2(x,y):
      # try:      
      try:
          print str(y)
          sleep(2)
          print str(x)
          ## adding any condition that makes the task fail
          if x!=None:
              raise Exception('Aproblem from your workme task')
          print 'This is my username: ' + str(x['user']) + \
                 ' And Password: ' + str(x['pas'])        
          return "22xx"
      except Exception, exc:
          workme2.retry(args=[x,y], exc=exc,)
  </code></pre>