Address review comments: rename patch; add pylintrc changes; remove pylint suppressions; discover subclasses outside provider.py