New: Configuration via package.json (fixes #698)

> In terms of behavior, I think it should act like a .eslintrc would in the same directory.

Yes.

> The only questions in my mind;
> How would ESLint know to look in package.json? Would it always do so by default?

I added a `packagejson` option which follows the behaviour of the `eslintrc` option, and so is turned on by default.

> What is the expectation if there is config in both package.json and .eslintrc in the same directory?

>There is a hierarchy followed by JSHint and JCSC for this. The package.json would be looked for first, and if found with ESLint config used. Failing that the .eslintrcwould be looked for and used if available.

I chose to instead use both, with the .eslintrc file having the higher precendence. To me, that seems more consistent with current behaviour and more flexible.

> We will stick with eslintConfig to match other tools doing similar things. 

I used `eslint` as the field name to look for in the package.json.

I'm looking for feedback in terms of questions about the new behaviour, changes that need to be made, preferences for the field and option names etc.

There are further tests still to be added to tests/lib/config.js and I will update this request with them presently.

---

Edited cli options descriptions so they fit 80 character width. 

I'm now thinking it would be better to stop looking for package.json files on finding the first one, instead of following .eslintrc behaviour and looking in all parent directories up to the file system root.

Also, perhaps it's unnecessary to have a packagejson cli option as it would be simpler for the eslintrc option setting to apply to both, otherwise its quite long-winded to turn both off. The package.json field could perhaps then be named `eslintrc`.

---

Okay, I have amended the commit so that only the first package.json file found is used. As before, all .eslintrc files in successive parent directories are used. This means that users who don't want to have higher directories searched for configuration data can just use a package.json file. 

I have left the packagejson cli option in, as now it seems necessary because the behaviour of package.json and .eslintrc files differs as just desribed.


can you add a blank line before the `if` here? Just give it a bit more space.