* Initial diagnostics
* Include MLP of local OTBR
* Add dep on pyroute2
* Move pyroute2 onto executor
* More comments
* Read thread data direct from zeroconf cache
* Get neighbour cache for known BR's
* isort
* mypy
* Add diagnostic test
* rel import
* Fix pylint
* Restore coverage in discovery.py
* Add WS command for discovering Thread routers
* Fix type annotations
* Mock zeroconf in tests
* Key discovery by external MAC address
* Add tests
* Include hostname in data, allow missing fields
* Fix typo
* Include server instead of hostname
* Create a thread active dataset when discovering OTBR
* Align with lib changes
* Use thread preferred dataset if set
* Create a dataset also from the user flow