Punycode implementation according to RFC3492
URI Templates as per https://tools.ietf.org/html/rfc6570