Return a error tuple if the binary data does not match the required DNS packet structure.

This makes the decode_message more resilient to bogus data.