sg generate: Run concurrently; better progress reporting
Created by: efritz
This PR adds better progress reporting (and a nice speed boost) to go generate commands. Previously we were passing very long lists of package names. Since this requires go to re-parse the packages, we get a small speed boost by passing the individual file names with a go generate directive. More importantly, this allows us to run each file individually (and now concurrently) so that we know when processing of the file starts and stops. We were trying to rely on heuristics in the "verbose" go generate output previously to achieve the same thing.
Test plan
Tested locally.