messenger: add a set_ip function to initialize the IP
Previously we only filled in IPs if they were set by the config file
(at startup) or after we connected to the monitor. Unfortunately this
could lead to conditions where the OSD connected to itself without
knowing that's what it was doing, because the cluster_addr IP wasn't
filled in until much too late. We've provided a mechanism for filling
in the IP and do so in OSD::boot_start.