This adds logic to error on certain invalid listener config:
* If an address in the worker's "controller" set is unspecified or
multicast or global unicast, error
* If the controller's cluster address is unspecified, ensure
public_cluster_addr is set
This has been a source of some confusing behavior on some GitHub tickets
and even on the team, so preventing it is probably a good idea.
It also relaxes the restriction around controller address matching cluster address in single-server mode when using DNS names.