Use new PortAddr type instead of strings for addresses

This also saves on call to net.ResolveTCPAddr
Add ClientCMListEvent