Add include command to OWNERS file.

* New OwnersDB.getRepoFile function to read any included file.
  * Inject GitRepositoryManager to plugin entry functions.
  * Functions passing Repository parameter are now passing a
    GitRepositoryManager parameter.
  * Depend on new StoredValues.REPO_MANAGER in Checker.java for
    Prolog engine.
* Enhanced parser:
  * Rename/clean up dir/file name normalization functions in Util.java.
  * Use a Parser object to store states and reduce number of parameters
    passed through parser functions.
  * Use an includeStack to keep track of current include file project
    and file path.
  * Use a set of "included" files to avoid cyclic/repeated included files.
  * Rename some constants in Parse.java to match google3 Java coding style.
* OwnersValidator.java skips the include command for now.
  More validation tests to be added later on the include path
  and included files not named as OWNERS.
* New tests and document:
  * Add new integration test cases to FindOwnersIT.java.
  * Add new unit test cases to ParserTest.java.
  * Add new syntax and examples to syntax.md,
    and fix some other minor documentation errors.

Change-Id: Ifd8b4dd9742820939d94b765f35cd9d7410d2a23
14 files changed
tree: 510ef57dcd89de090225c210e3b98eac1ddddd65
  1. src/
  2. BUILD
  3. LICENSE
  4. OWNERS