Librarify.

- Remove "Main-Class" from MANIFEST.
- Rename Main to Jxlint.
- Move logic for exiting programs into ProgramExitter.
Jxlint constructor now takes ProgramSettings.

- These settings specify your program name and your program version.
Make reporters extensible externally.

- Yay reflection!
Change LintRule's main signature: Optional<LintError>.

- boolean applyRule(File) becomes Optional<LintError> getLintError(File)
- Add boolean passesValidation(File) convenience method
Add publish task: publish javadoc, source and jar.
mavenLocal() instead of hard-coded path
Reformat build.gradle