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.
Merge pull request #300 from sethmcl/local_config_file

Implemented local default config file