add fuzz tests for dsio.EntryReader & dsio.EntryWriter
While I've never implemented fuzz testing, the dsio EntryReader & EntryWriter implementations for various data formats seem like a great candidate for this type of testing. Thankfully there's already a great go-based implementation of fuzz testing:
https://github.com/dvyukov/go-fuzz
One of the things fuzzing requires is a high number of varied inputs, which a combination of human-created and randomnly generated inputs should be great for. As such, let's ship #101 before moving on to this. But general steps are... visit that repo & follow the README, PR'ing in the changes required to make fuzz testing work, and documentation on how to perform fuzz testing locally.
Fuzz testing should start with JSON as a base data format to establish patterns we can translate to other data formats.
Once this works, I'm assuming this will find many problems, which is the point 😄, and we can start to work through the bugs fuzzing uncovers.