packet.go: NewPacket now unmarshals headers into a *PacketHeaders, not
a PacketHeaders