Fix: Fixes no-unused-vars to check /*globals*/ (Fixes #955)

Fixes #955.

This changes the default back to the correct `"all"` for the **no-unused-vars** rule; it had been set to `"locals"` at some point.

It also augments the rule (which according to @nzakas should have been there all along, thus this is a Fix) to check for unused explicitly declared globals via `--global` or `/* global */`. This probably never worked before, since the plumbing wasn't really in place.
In this function we need to distinguish between globals that are declared as part of the environment (which don't need to be used under 'no-unused-vars'), and those that are declared explicitly on the command line with `--global` or in the file with `/* global */`. The latter will be in `config.globals`.