Updated task scheduling

* Perform updates (primary and for the pending changes window) on a background thread
* Implement progressive backoff to the refresh delay for better behavior with large projects
* React to file change notifications, not directory change notifications

This change allows the automatic refresh feature to be used without problems in my test project (standard hard drive, 6,000 files in the solution, 90,000 commits in the repository). This pull request fixes #28.