OPS-1381 Email Support

Adds a module for sending email.
Why does it have to return anything?  If it works, an email is sent and the method returns normally (no return value necessary, not even None).  If it doesn't, a nice exception with appropriate messaging is thrown.  I don't understand how having a return value proxy helps anything.  If you're using the fact it returns a value to know it worked, then you're probably not properly handling an exception somewhere.  This sort of interface seems ambiguous.  If it has something meaningful to return, then great.  If you had another method that took that mail object and just resent it, then you could make an argument for returning it.