Let Rfc822Validator validate IEA in Punycode or Unicode.

Let Rfc822Validator validator internation email adresses.
The implementation is based on a regular expression.
Fixes:
- b/13364030 ComposeActivity rejects TLD that are Punycode
- ComposeActivity rejects TLD that are Unicode
Improve unit tests:
- Use RFC example domains, instead of potentially existing domains.
- Add unicode punycode internationalized email address.
- Add validity check for email with special characters.
- Add validity check "a..b@example.com" (RFC says dot cannot be succesive but it is allowed by major providers)
- Add invalidity check for "a@b-.com" (domain name cannot end with a dash) ; "john@doe@example.com" (@ must be unique)
- Remove a@b.12 from invalid emails. There is no tld made of numbers, but no spec strictly prohibits it.

Bug: 13364030
Change-Id: I78bc5d696f587753d776020ef1f9feded2065ad0
2 files changed