* Change statusSync.runningAddresses() return type
Previously, this method returning a string slice containing the resolved
IP addresses / FQDNs to sync onto the Ingress. It was then converted
just before use into a slice of LoadBalancerIngresses.
This commit changes this logic so that this method generates
LoadBalancerIngress objects directly, and returns these. This has two
main benefits:
- Future work in syncing _both_ hostname and IP, or any other fields
that may be used in future (eg Ports), is now supported.
- There is less need to rely on net.ParseIP() to determine if a value is
an IP address or Hostname, as this can be correctly assigned at
generation time based on where each value came from.
* Sync both IP and Hostname to Ingress Status
Previously, if the IP address was set on a PublishService's
LoadBalancerIngress entries, only that would be synced. Hostname was
only synced as a fallback when the IP address was missing.
Now, both fields are checked independantly and both are synced if
present.