[Review Only] JS Code Hints: Remember timed out files, notify user

@dangoor 

I pushed this interim branch for you to take a look. This works for some code paths.

TODO:
- [x] bug: `isFileExcludedInternal()` not called on all code paths (cannot repro, maybe confused similar file names)
- [x] implement notification dialog
- [x] don't exclude file currently being edited
- [x] convert pref to project scope?
- [x] remove `console.log()` statements
- [ ] rebase this branch

I was thinking that we wouldn't need a separate pref for `detectedExclusions` and could just use the (not-yet-existing) pref for exclusions, which is why this story originally relied on getting the preferences done. My thought is that we'd have `jscodehints.exclusions` which is an array of globs.

One experiment I had done while looking at the JSCodeHints Preferences story was whether we could use Tern's `dontLoad` option. But, if we push a file to Tern, Tern will load it regardless of whether or not the file matches the `dontLoad` value. So, we do need to process the exclusions ourselves.

thirdparty/globmatch has the glob matching function.