This PR upgrades crates from hickory-dns to version 0.25.2
The main reason to upgrade them is that hickory-resolver has break
change on `Resolver` initialazation APIs and renamed `tokio-runtime`
feature to `tokio`, which breaks dependency resolving with recent crates
when embedding deno.
Since `rust 1.87.0` reported `undefined symbol:
ring::pbkdf2::PBKDF2_HMAC_SHA1::*` in CI and it was difficult to debug
locally, use `rust 1.86.0` in CI tests for troubleshoot the errors
- Declare a new trait `Resolve` whose only method resolves a `Name` into
`Result<SocketAddrs, io::Error>` asynchronously.
- Add a new variant to `Resolver` encapsulating a custom DNS resolver,
and modify `Resolver`'s implementation of `Service<Name>` accordingly.
- This new feature is tested in ext/fetch/dns.rs
Fix#27739.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>