HostAndPort now has a SockAddr optional that it carries around for relatively little use. We should obviate that.
As a stretch goal that probably won't happen, we also carry around a std::string host for every HaP. Standard use sees maybe 6 hosts ever used to construct HaP. We could probably figure out a place to stash these strings and actually have StringData instead.