The changes here simplify the string of targets executed as part of
`make gen`. The simplifications include:
* parallelised code generation whenever possible
* re-implementation of documentation generation for a significant
simplification and improved readability.
* unified mocks generation to avoid multiple slow calls to `go run` per
package.
Note, the changes introduced here are purely mechanical and do not alter
the Lotus node functionality.
Fixes#8392