Join combines a host and port into the canonical "host:port" form, or
"[host]:port" for IPv6 literals. Unlike net.JoinHostPort, it accepts an
IPv6 host in either bare (`fd38::1`) or already-bracketed (`[fd38::1]`)
form: net.JoinHostPort would otherwise double-bracket the latter.