[multicast_dns] MDnsClient::listen supports onError callback (#8888)
MDnsClient::Listen now supports an optional onError callback function,
called in case of a stream error. If omitted any errors on the stream
are considered unhandled, and will be passed to the current [Zone]'s
error handler. By default unhandled async errors are treated as if they
were uncaught top-level errors.
This fixes an unhandled exception occuring (tested on Android), when the
network is disconnected.
Fixes https://github.com/flutter/flutter/issues/165482
## Pre-Review Checklist
[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
How can a test be added? It would need to disconnect the device from WLAN beforehand.