TODO:ABNF -- basically merge RFC 4282 and DNS names, permitting labels that start with a digit. Probably hook onto RFC 4282 for definitions.