Fix bug. EmailAddress.tostring() is incorrect 

The logic of EmailAddress.tostring() is incorrect, fix it
I would also have a test case per logical scenario/case rather than having them all in one.