Update code throughout linterReporter for better style and performance.

Mostly fixes from previous PRs of mine. Some (seemingly) better comments and ways of doing things.

@MiguelCastillo: I'll add comments on the lines where I want to better document why the change was done.
Remove `_self` since we don't really use it - `this` seems to work fine.

Change `mark` to be the value of the mark in `marks` array (if it exists, if not, it'll be undefined.)