Use dLen for domain name length
Use dLen in TSIG too
Be much more precice in msg.Len()

There is still a one-off in EDNS0 records, but I'm not too bothered with
that one.
Normalize names a bit