Code for handling unicode/punycode name conversions v2

Opening new PR for clean commenting
I still favor idn.DecodeString and idn.EncodeToString