First steps to getting JSLint going

This is going to be a PITA, can I just say. lol
JSLint passes background.js now ... ->

Except for unused functions.  Which I would comment but I'm leaving
there because I'm assuming they're used somewhere else.
JSLint passes contentscript.js now ... ->

Except for an unused function and variable.
JSLint now passes gsUtils.js ... ->

Except for unused variables and also tons of refactoring needed.
JSLint now passes history.js ... ->

Again, unused variable warnings.
JSLint now passes options.js ... ->

Again, except for unused variable warnings.  Refactoring still to come.
JSLint now passes popup.js ... ->

One unused variable warning...
JSLint now passes previewscript.js ... ->

One unused variable warning...
JSLint now passes profiler.js ... ->

Couple unused variable warnings.
JSLint now passes suspended.js ... ->

One unused variable warning.
Fixed loops in background.js, no refactoring done
Fixed loops in gsUtils.js

Refactoring still has to come and also there were some loops I didn't
fix because they were using .splice() which shouldn't be used with
.forEach().

There are also a couple of unclear things that really need to be
refactored to be understandeable.
Fixed loops in history.js

Unused vars, still
Fixed loops in options.js

Some unused vars and TODOs
Fixed loops in popup.js

There were no loops.

Also no JSLint warnings. :D
{previewscript,profiler,suspended}.js fixed loops
Fix manifest.json indentation
background.js got switch case instead of else ifs

Also fixed a bug where it was possible to try to do .forEach() on
something that wasn't an array thus causing an error.
Updates isSpecialTab() rules
background.js now passes JSLint 100%...

without work-arounds like the comment that defines global vars.
Yay! :D