mail.ParseAddress will stop parsing a string once it finds a valid
email address. This means you could give ValidUser an email
address followed by junk and it would mark it valid.
This commit fixes this behavior and adds some more test cases.
Fixes#189