buildbot.status.mail: improve email address regexp

The previous email regexp contained some flaws; the intentions
of the regexp and the implemention had some gaps that would make it
hard to rely on.

This rewrite should match any valid email address, but it does not
give any guarantees that what it matches is a valid address. An
increased level of complexity is (hopefully) compensated by a comment
explaining the reasoning behind the regexp. This is accompanied by
unit tests; you are encouraged to add any corner case addresses in
either the test for valid or invalid addresses.