Cleaned up the dns-parsing code
Cleaned up some of the output
Re-named 'd' to 'driver' throughout, to make the code easier to write/follow
Added a packet_id field, which is random and changes with each packet (and is echoed back). This helps identify responses, but more importantly it helps avoid annoying caching.