Gather returns a sorted list of proto files in the given root directory,
ensuring that subpackage protos (e.g., in a "schema" directory) are included
in the generation.
recursion is disabled for certain base paths in nonRecursivePaths.
Search looks for a regex in the first .proto file in the API directory.
Returns the value of the first match found, and a boolean indicating if a match was found.