Modifying CompilerCache to use IFileSystem.Watch

Fixes #1708
We use these as lookups in dictionaries. Having it be a different case was causing a cache miss when looking up the type.