json outputs of go list and go mod download contain multiple fields and only subsets of them are required for the subsequent go command runs with -reuse. Document those fields clearly and add tests to prevent regression.

cc @rsc @bcmills @suzmue