Forward compatibility support
These are just small changes to provide some forward compatibility support.
First, it provides a protocol version as the first message on client connection. That way, if we ever change the protocol in an incompatible way, the client can know what version the server sends and decide how to parse the messages, or at least warn/error that the version is not compatible.
Second, we plan on having more additional information about each DNS name (like TTL or its relevance). So provide a place where it'll be put in the report messages.