codeintel: Infer index configuration from repository contents
Created by: efritz
This adds a more sophisticated heuristic for how to index repositories. This PR closes https://github.com/sourcegraph/sourcegraph/issues/13897.
The indexability scheduler will now look for more than the existence of a go.mod file in the root. It will also check for sourcegraph.yaml, and any regular expression that is registered by a recognizer. The scheduler will now defer to the recognizers to determine the details of indexing (indexer, args, root, and installation steps). A recognizer is a set of functions that operate for a particular indexer and detect things like roots, arguments, etc, based on the paths available in the repository.