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
* true: "vars" + last function param only
* "vars": Variables and functions are checked, but not function params
* "strict": "vars" + function params

Example:

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

If 'unused' === true, no warnings will be thrown, since 'b' is used.

If 'unused' === 'strict', 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
Merge branch 'master' of git://github.com/mbulman/jshint into mbulman-master
Fix stylistic issues in 1cca4c2848fb9745fd333819d57b844bb8145d97