Added a class attribute to set the default type for non-classified linter errors
Use a constant instead of a magic number for default rc search limit
If .sublimelinterrc can't be found via directory search, check in ~
Linter.reset() didn't need highlight arg, which allowed me to use highlight as a module name
Make sure column number is pinned to zero at the low end
rc settings update settings lower in the stack instead of overriding
Make the settings property work the way a property should
Added line_col_base attribute to Linter, helps to correctly calculate line/column numbers reported by linter.

While I was at it, changed "row" to "line" to be consistent with references elsewhere.
Another shot at handling linter settings correctly.

Also removed unused class attribute and committed an earlier change I missed
Renamed method to be more precise in its meaning
Don't reload the linters unless a relint is necessary, otherwise the error messages are wiped out unnecessarily.
No point in supporting .sublimelinterrc in the user's home directory, it's effectively the same as the User settings
Writing binary mode, be sure to encode strings
Don't need to use key(), list() does that already
No need to explicitly wrap the return in a tuple
Don't check the active view until plugin_loaded, because the world has not yet been fully initialized before that
Moved cache clearing of util methods to util.clear_caches()
Automatically add system python 3 sys.path to Sublime Text's sys.path, so that linter plugins can access site-packages
Fixed a bug that occurred if no "paths" were specified in settings
Don't cache find_file(), so that files moved in or created after launch will be found