Switched from error_message to message_dialog
Moved Highlight constants to the module
Added support for gutter themes, including a theme chooser
Eliminated the sys.meta_path trick, it was causing problems.

It turns out that when external modules were loaded which imported using 'lint', python would see it as a separate import from the imports of 'lint' done by SublimeLinter, which would result in persist being re-imported, which messed everything up.

Linter plugins just import relative to SublimeLinter and everything is wonderful. This works because ST3 puts packages_path() in sys.path.
Factored out getting the command to execute, using shlex to parse a string
Print a message when a linter is enabled/disabled (which only happens on first attempted use)
Added support for length in split_match, for cases where the linter knows the length of the offending code
Text tweaks
Added separate printf method to persist, which prints unconditionally
HighlightSets are cached per view so that they don't have to constantly be recreated and redrawing is smoother
Renamed method to better describe its intention, changed import to be relative