grep: add --jobs support
grep: add --jobs support

Use multiprocessing to run in parallel.  When operating on multiple
projects, this can greatly speed things up.  Across 1000 repos, it
goes from ~40sec to ~16sec with the default -j8.

The output processing does not appear to be a significant bottle
neck -- it accounts for <1sec out of the ~16sec runtime.  Thus we
leave it in the main thread to simplify the code.

Change-Id: I750b72c7711b0c5d26e65d480738fbaac3a69971
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/297984
Reviewed-by: Chris Mcdonald <4ca9f429749ea29f0277a76979656ec13beb5513@google.com>
Tested-by: Mike Frysinger <8f3f75c74bd5184edcfa6534cab3c13a00a2f794@google.com>

lewixliu/git-repo,couchbasedeps/git-repo,GerritCodeReview/git-repo,GerritCodeReview/git-repo,lewixliu/git-repo,couchbasedeps/git-repo