Remove the "preg_quote()" lint rule and update the "CLASS" lint rule
Summary:
Depends on D21031. Ref T11968. This clears some lint with the word "Future", but is just a minor cleanup patch not really related to the main goal in that task.
We currently warn on preg_quote() with no second parameter, but this is valid and correct:
preg_match('('.preg_quote($x).')', ...)
This is the modern recommended style for this sort of expression, so the warning is often a false positive; drop it.
The "CLASS" warning looks for hard-coded class names in strings, but currently looks for them as a word anywhere in the string.
This is often a false positive and sometimes makes error messages or exceptions untranslatable. For example, translators can't do anything with this:
Filesystem path "%s" does not exist.
...if it's written as:
%s path "%s" does not exist.
...just because it happens to appear in the class "Filesystem". Some other classes, including "Future", suffer from this.
Even when the detection is correct, it's clunky and a mistake here (failing to update the class name in an error message) is unlikely to ever do any real damage.
Test Plan: Ran unit tests and arc lint.
Maniphest Tasks: T11968
Differential Revision: https://secure.phabricator.com/D21032