Expand on the configurability of "unused"

This allows users to control what level of check to do for unused variables.  The options are:
* false: No checking is done
* "vars": Variables and functions are checked, but not function params
* "all-params": "vars" + function params
* "last-param": "vars" + last function param only (this is what true will default to)

Example:

    function foo(a, b) {
		return b;
	}

If 'unused' === true, or "last-param", no warnings will be thrown, since 'b' is used.

If 'unused' === 'all-params', then a warning will be thrown, since 'a' is not used.

References:
* Makes GH-607 the default, but optional, rather than mandatory
* Closes GH-778