Add punycode decoding.
Test and fix punycode decoding.
Add and test punycode encoding.