**Description :** - Move away from the legacy Resolver class to a more flexible, template-based architecture. - Allows for different transport layers (UDP, TLS, Multicast) while reusing the same DNS packet serialization/deserialization logic. - Introduce BasicDnsClient<Transport> to decouple DNS logic from the underlying socket type. - Add transport policy class. - Improve integration with the Reactor for non-blocking operations.