Ensure linked files are kept in sync in the workspace
Ensure linked files are kept in sync in the workspace

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems?id=209299

For additional documents, this makes no semantic change. For regular
documents, there are slight semantic changes. Previously, each changed
document *incrementally* caused a synchronous `OnDocumentTextChanged`
call (with Workspace.CurrentSolution only partially updated, leaving
linked files with content discrepancies) and then an asynchronous
`RaiseWorkspaceChangedEventAsync` (again with Workspace.CurrentSolution
only partially updated).

Now, all of the synchronous `OnDocumentTextChange` events happen after
the Workspace.CurrentSolution is fully updated, and the
`RaiseWorkspaceChangedEventAsync` calls to indicate that a document was
updated actually contain before/after solutions with *all* of the linked
files updated.

DustinCampbell/roslyn,swaroop-sridhar/roslyn,yeaicc/roslyn,tmat/roslyn,robinsedlaczek/roslyn,shyamnamboodiripad/roslyn,Hosch250/roslyn,mattwar/roslyn,cston/roslyn,pdelvo/roslyn,mavasani/roslyn,MichalStrehovsky/roslyn,CaptainHayashi/roslyn,dpoeschl/roslyn,heejaechang/roslyn,brettfo/roslyn,tannergooding/roslyn,abock/roslyn,diryboy/roslyn,amcasey/roslyn,xasx/roslyn,mattscheffer/roslyn,AlekseyTs/roslyn,davkean/roslyn,orthoxerox/roslyn,paulvanbrenk/roslyn,weltkante/roslyn,KirillOsenkov/roslyn,tmat/roslyn,lorcanmooney/roslyn,jcouv/roslyn,srivatsn/roslyn,VSadov/roslyn,stephentoub/roslyn,davkean/roslyn,brettfo/roslyn,TyOverby/roslyn,heejaechang/roslyn,cston/roslyn,swaroop-sridhar/roslyn,diryboy/roslyn,paulvanbrenk/roslyn,reaction1989/roslyn,genlu/roslyn,lorcanmooney/roslyn,wvdd007/roslyn,tmeschter/roslyn,CyrusNajmabadi/roslyn,MichalStrehovsky/roslyn,stephentoub/roslyn,jasonmalinowski/roslyn,Giftednewt/roslyn,sharwell/roslyn,jamesqo/roslyn,drognanar/roslyn,pdelvo/roslyn,srivatsn/roslyn,weltkante/roslyn,gafter/roslyn,AdamSpeight2008/roslyn-AdamSpeight2008,physhi/roslyn,jmarolf/roslyn,AdamSpeight2008/roslyn-AdamSpeight2008,nguerrera/roslyn,dotnet/roslyn,nguerrera/roslyn,kelltrick/roslyn,panopticoncentral/roslyn,mavasani/roslyn,TyOverby/roslyn,AdamSpeight2008/roslyn-AdamSpeight2008,cston/roslyn,jasonmalinowski/roslyn,mattwar/roslyn,KevinRansom/roslyn,Hosch250/roslyn,gafter/roslyn,srivatsn/roslyn,drognanar/roslyn,tmeschter/roslyn,eriawan/roslyn,OmarTawfik/roslyn,KevinRansom/roslyn,TyOverby/roslyn,ErikSchierboom/roslyn,orthoxerox/roslyn,aelij/roslyn,tmeschter/roslyn,jcouv/roslyn,mgoertz-msft/roslyn,tvand7093/roslyn,panopticoncentral/roslyn,jmarolf/roslyn,mmitche/roslyn,physhi/roslyn,heejaechang/roslyn,jkotas/roslyn,dotnet/roslyn,tvand7093/roslyn,reaction1989/roslyn,agocke/roslyn,mattscheffer/roslyn,mgoertz-msft/roslyn,mattscheffer/roslyn,CyrusNajmabadi/roslyn,mavasani/roslyn,swaroop-sridhar/roslyn,aelij/roslyn,physhi/roslyn,VSadov/roslyn,eriawan/roslyn,OmarTawfik/roslyn,drognanar/roslyn,amcasey/roslyn,davkean/roslyn,AnthonyDGreen/roslyn,KirillOsenkov/roslyn,khyperia/roslyn,AlekseyTs/roslyn,wvdd007/roslyn,MattWindsor91/roslyn,dpoeschl/roslyn,MattWindsor91/roslyn,bartdesmet/roslyn,brettfo/roslyn,KirillOsenkov/roslyn,Hosch250/roslyn,nguerrera/roslyn,yeaicc/roslyn,CaptainHayashi/roslyn,shyamnamboodiripad/roslyn,MattWindsor91/roslyn,abock/roslyn,DustinCampbell/roslyn,dpoeschl/roslyn,tmat/roslyn,xasx/roslyn,jkotas/roslyn,OmarTawfik/roslyn,jkotas/roslyn,genlu/roslyn,amcasey/roslyn,AnthonyDGreen/roslyn,kelltrick/roslyn,robinsedlaczek/roslyn,mmitche/roslyn,agocke/roslyn,ErikSchierboom/roslyn,ErikSchierboom/roslyn,bkoelman/roslyn,Giftednewt/roslyn,CaptainHayashi/roslyn,Giftednewt/roslyn,sharwell/roslyn,VSadov/roslyn,AmadeusW/roslyn,AnthonyDGreen/roslyn,genlu/roslyn,gafter/roslyn,aelij/roslyn,mattwar/roslyn,jamesqo/roslyn,agocke/roslyn,shyamnamboodiripad/roslyn,khyperia/roslyn,abock/roslyn,khyperia/roslyn,wvdd007/roslyn,jcouv/roslyn,DustinCampbell/roslyn,yeaicc/roslyn,bkoelman/roslyn,tvand7093/roslyn,CyrusNajmabadi/roslyn,bkoelman/roslyn,jmarolf/roslyn,KevinRansom/roslyn,paulvanbrenk/roslyn,robinsedlaczek/roslyn,xasx/roslyn,MichalStrehovsky/roslyn,MattWindsor91/roslyn,diryboy/roslyn,jamesqo/roslyn,tannergooding/roslyn,AmadeusW/roslyn,tannergooding/roslyn,AmadeusW/roslyn,AlekseyTs/roslyn,bartdesmet/roslyn,orthoxerox/roslyn,lorcanmooney/roslyn,sharwell/roslyn,bartdesmet/roslyn,dotnet/roslyn,mgoertz-msft/roslyn,pdelvo/roslyn,mmitche/roslyn,panopticoncentral/roslyn,eriawan/roslyn,jasonmalinowski/roslyn,kelltrick/roslyn,stephentoub/roslyn,weltkante/roslyn,reaction1989/roslyn