Add error highlighting

Add highlighting support for plugins.  

Features:
Automatically highlight full line for existing linters and linters that only provide line numbers

If a linter provides a Range for the buffer section that applies to a lint error the highlight will highlight that range.

Support code folding for both gutter and highlighting.

@hd-deman, @iam4x This is kind of a big addition, if you want to see a working example of the range functionality I have updated the tslint plugin to support this new version on it's master branch.  When this gets pulled we can release a new version of that.