Abort existing scan and start new one when switching projects

@peterflynn 

For #4407, makes it so that we don't finish an old FileIndexManager scan after the project has changed; instead, we kill the old scan and start a new one, and notify callers once it's done.