Some fixes to DNS parsing code, add test programs.

DNS packets actually unmarshal successfully now -- but still have to
work on the actual *parsing* into data structures.