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. (**Edit**: Finished adding comments).
This can be fragile. `mark` only has `warnings` and `errors` defined in it.  What if the message type is `severe`?  That's why the if statement was there.