add a nameserver implementation
add a nameserver implementation

Ans some fixes and tweaks in the core code.

ezoic/dns,ErikDubbelboer/dns,josephyzhou/dns,bragr/dns,cloudflare/dns,Psiphon-Inc/dns,AlexCheong/dns,skynet/dns,flebarbe/dns,curtiszimmerman/dns,bboreham/dns,Git-Host/dns,janstk/dns,benbearchen/dns,modulexcite/dns,michaelharo/dns,FiloSottile/dns,asergeyev/dns,jdef/dns,letsencrypt/dns,ym/go-dns,jmhodges/dns,skyportsystems/dns,rolandshoemaker/dns,tsenart/dns,tonnerre/golang-dns,miekg/dns,tempbottle/dns,hugozhu/dns