Also, I think ``add_attachments`` should accept a single ``email`` instance instead of multiple email instances. Since ``Attachment`` is a ``ManyToMany`` field, I think it's best that we also support passing in an ``Attachment`` model instance as value. 

``EmailBackend.send_messages`` can then be rewritten as such:

```python
attachments = create_attachments({'foo': 'bar.txt'}) # Returns  {'foo': attachment_model_instance}

for email in emails:
    add_attachment(email, attachments)
```