Support multiple email recipients and multiple emails in a single session

When there are multiple recipients on an email `RCPT TO` gets sent multiple times. See section 4.1.1.3 of http://www.ietf.org/rfc/rfc2821.txt.

Support this by returning an array for `:to`

This change is not backwards compatible when there is a single recipient. I figured it would be more consistent to always return an array. I'm happy to change this if you don't think that is the best way to handle this!

The second commit also adds support for multiple emails in a single session (which some clients may expect). The current behaviour would be to silently throw away every but the last email in a session but weirdly to concatenate the data sections of the email.

The commit makes a very small change to record the message after the `DATA` block has finished and reset the message.