cache calls to minimatch
added directory exclude logic that works in grunt land, since files will never be directories and file.path will likely not match the path used by jshint.