by default fill the ping payload with a chacha stream instead of
an unvarying payload.
each ping process generates a random key, and each packet then uses
the timestamps mac as the IV for the stream.
this allows us to have a different payload per packet that we can
recalculate and compare in the same was as the static payload was
checked before. by aggressively varying the payload we hope to
generate more opportunities for dodgy network equipment to show
errors.
note that we do siphash before chacha because we want to be strict
about the timestamp payload, but we want to be able to recognise
errors in the rest of the payload and where those errors were. doing
chacha before siphash would have us than fail the whole packet if
a checksum doesnt match.
discussed with jp aumasson
ok florian@