Create package.json and jshint config only if they do not exist

- Adds a USAGE file
- Fixes the empty package.json name property
- Removes the ambiguous package.json prompt
- Creates package.json file and jshint config without prompting, but only if they don't exist
- Updates to the [file-utils](https://github.com/SBoudrias/file-utils) module

It wasn't clear what action the 'Will you use a package.json file?' prompt performs. While investigating I noticed the package.json name property was never set. Based on the example of [generator-webapp](https://github.com/yeoman/generator-webapp), it is now set by calling _.slugify() on the generator [appname](http://yeoman.github.io/generator/Base.html) property. As for the prompt, instead of asking the user it simply checks if one exists.

The Gruntfile template defined a jshint config, but the project may already have a jshint config. It now only defines a jshint config if a [jshintConfig](http://www.jshint.com/docs/) property and [.jshintrc](http://www.jshint.com/docs/) file do not exist.

On another note, I wonder how generator composition works when each generator scaffolds a different test framework.