Give back DNS errors, and check for a sane request pkt.

Also make some code more Go like.
Happens in dns lib
Merge pull request #5 from miekg/pull1

Pull1