Add jshint.cached()

- Introduces a dependency to [gulp-cache](https://github.com/jgable/gulp-cache)
- Adds a jshint.cached() method that caches successfully linted files by
contents, jshint version and jshint options
- Exposes the file cache used as jshint.cached.fileCache for manipulation (including clearing).
- Very basic unit test to confirm caching