Change assembly checksum caching
Change assembly checksum caching

Part of building up our content file for a test description includes
calculating checksums for several thousand assemblies.  This takes up a
significant amount of time if done without optimization (~1 minute).  To
optimize this process RunTests caches checksums on a couple of levels.

One cache is based on file path.  The tool assumes the file system is
static for the duration of the run and hence caches checksums based on
file paths.

This cache was added back when the build outputed the majority of the
build to a single directory.  There are a lot of common assemblies
between our tests hence this was a very effective cache.  Since we've
moved to a more granular output structure this cache is becoming
extremely ineffective.

This change replaces it with an MVID based cache.  Calculating the
checksum of an assembly is relatively expensive but reading it's MVID is
cheap and it's an effective content key for PEs.

Local measurements show this saved us 55% on calculating the content for
the entirety of our test run set (about 20 seconds).

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