added automatic discovery of .jshintrc files

By default, the closest .jshintrc will be found for each file passed to jshint. To disable this functionality, pass in the location of the desired .jshintrc file or `{ auto: false }`.

The location of .jshintrc files for different directories is cached to prevent unnecessary disk I/O.