Use BaseNetworkObserver in Tethering.

Tethering currently inherits from the AIDL interface
INetworkManagementEventObserver, so it has to provide no-op
implementations of all the interface's methods. Inherit from
BaseNetworkObserver and get rid of the no-ops.

[Cherry-pick of f4e90eac87bc31611ddd80c46fc924d35ce66c1c]

Bug: 9180552
Change-Id: I74859b0d77951005651aaaa418185857e40eeedb
Minor cleanups to NetdCallbackReceiver.onEvent.

- Clean up identical error messages.
- Fix the array length check for InterfaceAddressChange.

[Cherry-pick of 59be800e7fe81842aa8c77b91319f58ab165983d]

Bug: 9180552
Change-Id: Id871f481445b530c3ad749725f1548df0e3a1228
Pass DNS server info notifications to observers.

These are sent if the device receives IPv6 Router Advertisements
with DNS server configuration options. Currently, nothing listens
to them; in a future change we will use them as IPv6 DNS servers.

[Cherry-pick of 416740ad4d9132005a71dc0883334e852235a18a]

Bug: 9180552
Change-Id: I05000c0cd3867a68ab390102e8470b6912a9d3aa
Merge "Use BaseNetworkObserver in Tethering."
Merge "Minor cleanups to NetdCallbackReceiver.onEvent."
Merge "Pass DNS server info notifications to observers."