now saves mail messages, when given the DATA SMTP command... and now it needs to be filled in with the logic for most of the other SMTP commands
fixes "first line of message not read" problem, and propogates appropriate error messages down from catalyst to the client.  code tidied up a bit