Clarified the lifecycle of file monitors and archives.
1. StartMonitoring() is now two calls: UpdateArchives() (initializiation) and StartMonitoring() (just starts monitoring and nothing else)
2. StopMonitoring() is now two calls: StopMonitoring() (stops monitoring the source) and Dispose() (closes the archives, etc)
Added the new DirectoryScanningMonitor (plus tests) class. The DirectoryScanningMonitor will form the basis of the VisualStudio SourceMonitor class that will replace SolutionMonitor.