Add dns.hpp: the DNS resolver

This diff implements a plain DNS resolver that can be used
by the net/connection code to resolve DNS names.
dns.hpp: implement custom DNS resolver

A custom DNS resolver is needed to implement OONI's dnst.