As we're moving to a Java-based website generator located in the same
package as the `Extractor` implementations, there is no need to validate
the exact format of generated files; only that the data can be
deserialized again.
While there, track the source file from which data is extracted.
This new `Extractor` implementation collects identification and
replacement source code from `BugChecker` unit tests.
While there:
- Refactor the existing `Extractor` setup such that instances are
service-loaded and need to implement only a single method, thereby
avoiding the need to align logic between multiple source code
locations.
- Extend the validation performed by the `Compilation` test helper
class.
- Extend the `ErrorProneTestHelperSourceFormat` check to support source
code passed to the `Compilation` test helper class.
This new module provides the initial version of a framework for the extraction
of data from bug checkers and Refaster rules, to be used as input for website
generation.