This is a deep comparison module that is heavily based on
<github.com/go-test/deep>. The only difference is that, rather than reporting
differences as a simple list of strings, this attempts to give a more accurate
depiction of exactly what was added, updated, or removed between two arbitrary structs.