new DnsResolver: DNS lookup at given DNS server

Direct query a DNS server to resolve domain names.

Some ISP DNS server hijack domain to point to their own cache proxy.
Just like what we intent to do ourselves. ;)

Sogou proxy server domains can be hijacked in this way. Using system
getaddrinfo() will fail us. We have to use some other DNS server to
lookup sogou proxy server domain names when neccessary.
Prepare to direct lookup ip for sogou proxy server

Instead of function utils.renew_sogou_server(), we create a
SogouManager emitter class to manage renew of sogou proxy servers.
sogou_dns option: use given DNS for sogou server