title: Python DeferredList callback reporting success when deferreds raise error
body: <p>I have the following simple script:</p>
  
  <pre><code>#!/usr/bin/env python
  from twisted.internet import defer             
  from twisted.web.client import getPage, reactor
  
  def success(results):
    print 'success'              
  
  def error(results):
    print 'error'         
  
  def finished(results):
    print 'finished', results
  
  tasks = []
  
  d = getPage('thiswontwork').addCallback(success).addErrback(error)
  tasks.append(d)
  
  dl = defer.DeferredList(tasks)
  dl.addCallback(finished)
  
  reactor.run()
  </code></pre>
  
  <p>That produces the following output:</p>
  
  <pre><code>error
  finished [(True, None)]
  </code></pre>
  
  <p>I would expect this error task to return a false since the getPages task fails and calls it's error callback. Can anybody explain this behaviour?</p>