Modernize ArcanistPylintLinter
Summary:
Ref T2039. Convert the ArcanistPylintLinter to an ArcanistExternalLinter and make it compatible with .arclint. In doing so, it was necessary to drop support of older versions of pylint by setting the minimum version to be 1.0.0. I think that dropping support for older versions is reasonable because version 1.0.0 was released ~18 months ago. In the case than an incompatible version is detected, an ArcanistMissingLinterException is thrown.
One caveat here is that support for lint.pylint.codes.(error|warning|advice) is dropped. Any installs that are relying on this configuration will need to migrate to using the .arclint file for specifying linter severity. We could potentially continue to support this deprecated configuration, but I'm not sure if this is worthwhile.
Test Plan: Wrote and executed unit tests with arc unit. I ran the unit tests on all pylint releases after (and including) 1.0.0. Specifically, the tests were run on v1.0.0, v1.1.0, v1.2.0, v1.3.0 and v1.4.0.
Reviewers: epriestley, Blessed Reviewers
Reviewed By: epriestley, Blessed Reviewers
Subscribers: epriestley, Korvin
Maniphest Tasks: T2039
Differential Revision: https://secure.phabricator.com/D9109