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).
Hmmm, I have looked through code mirror's code a million times and I cannot recall if it calls setTimeout internally or not.  If you can confirm that CM is already doing a setTimeout, then yeah let's remove it...