Implemented local default config file

With this change, if `eslint` is run without specifying a config file,
a search will be performed for an `eslint.json` config file.

The search will begin in the current working directory, and recurse
upwards until the filesystem root is reached.

If no `eslist.json` file is found, then the default `eslint.json` in the
eslint application directory will be used.
Updating look up algorithm for local config files

* Local config files must now be named `.eslintrc`
* Options specified in local config files will be merged with base,
default eslint.json config
* Local config files will be looked up relative to each file being
linted
* Local config files are cached by directory for performance
Protecting private method

Moving `getLocalConfig()` off the `Config.prototype` since it is not
being unit tested and is not designed to be called publically.
Fixed warning when unused var declared as param in FunctionExpression/Declaration can be ignored because later param is used
Added link to roadmap and JSHint feature parity list.
Removed console.log in tests.

Note: check why `npm test` didn't catch these.
Updated docs for no-unused vars rule.
Merge pull request #318 from malandrew/no-unused-var-ignores-unused-args-when-later-args-are-used

Allow unused FunctionExpression/Declaration param when following param is used (fixes #311)
Merge pull request #300 from sethmcl/local_config_file

Implemented local default config file
Merge pull request #319 from malandrew/patch-4

Added link to roadmap and JSHint feature parity list.