Code for handling unicode/punycode name conversions v2

Opening new PR for clean commenting
We should also test names with a dot in them and the root label, and mixing labels from different languages.