Adding ability to monitor file changes for PhysicalFileSystem

1. This includes the implementation & tests.
2. A modified IFileInfo interface (This will require changes to MVC repo - A PR will be sent out after this changes are approved.).
3. File system watcher turns off when there are no files to monitor and turns on when files are to be monitored.
4. Need to add a test to verify that file system watcher turns off if no files to monitor.

@Tratcher @pranavkm 
I feel compiling is the right thing to do. The same regex is being matched again and again for for every file system entry change until this pattern is matched and removed from cache. The regex creation also does not happen upfront while creating trigger, but when the first file system entry change is triggered by the watcher.