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).
Re-added setTimeout, since I couldn't find it in CodeMirror.