resolves #1096 decouple fetch and collect operations, add git.read_concurrency, and retry if concurrent fetch/clone fails
- flag unknown git errors a recoverable to retry without concurrency
- decouple step to load repositories when collecting files
- add git.read_concurrency playbook key to control how many git indexes are loaded at once
- retry failed fetch/clone operations in serial if git.fetch_concurrency > 1 and unexpected error occurs
- select all start paths before collecting files so start paths per repository can be processed concurrently