'Deliver the given messages one at a time.  Delivery is serialized to
guarantee a predictable order in the mailbox (overlapped message deliver
makes no guarantees about which message which appear first).'

def _appendMessages(self, mbox, messages):

    results = []
    def append():
        for m in messages:
            d = mbox.appendMessage(m)
            d.addCallback(results.append)
            (yield d)
    d = task.cooperate(append()).whenDone()
    d.addCallback((lambda ignored: results))
    return d
