Implement `lint` and return `LintError` directly
Implement `lint` and return `LintError` directly

Instead of creating and then parsing a string with a regular expression,
we can instead build and return a list of `LintError`s (a typed dict)
directly and skip some indirection.

I am not sure if `lint` is *supposed* to be overridden like this, but I
do remember advocating for it a couple years ago when the change for a
proper data structure for lint results was discussed. It just now
happened to be a convenient way to implement end markers for the
highlighted region.

In this particular instance, it allows us to specify a full region for
marking the error, where we now specify the entire match including the
remainder of the comment instead of just the trigger word. This can be
changed, of course, but I figured it wouldn't be a bad idea initially.

SublimeLinter/SublimeLinter-annotations