Code for handling unicode/punycode name conversions

Addressing #120
please use: `panic("dns: not reached") to be inline with other panic uses.