[mdns] restart probing/announcing the services on host address removal

When some of a custom host's addresses are removed, the services which
are using the custom host should be updated accordingly:
- For the services being probed, the probing should be restarted with
  the updated address records.
- For the services which already finished probing, they should be
  re-announced with the updated address records.

For example, here is a scenario where the fix is necessary:
1. Register a host (host1) with addresses (addresses1)
2. Register a service (service1) using the host1.
3. Unregister the host1.
4. Re-register the host1 with different addresses (addresses2).

Then the probing messages of the second registration of host1 may
conflict with the announcements of service1 (which containing addresses
records of the addresses1). This is an undesired conflict. Restarting
the announcement of service1 when updating the addresses of host1
can get rid of this conflict.

Bug: 327304356

Change-Id: Ie97b72f1482c69fb5f24eab3ce9ed8f7cea957ec
5 files changed