Sema: Refactor ConstraintSystem::computeSubstitutions() to use GenericSignature::getSubstitutions(), NFC
Sema: Refactor ConstraintSystem::computeSubstitutions() to use GenericSignature::getSubstitutions(), NFC

Note that there was some non-obvious dead code here:

- We already drop conformance requirements on dependent types that
  are the subject of same-type constraints, so we no longer have to
  skip dependent types that are mapped to concrete types explicitly.

  In fact, if this were not the case, other code that iterates over
  the requirements of a GenericSignature would be wrong. The original
  hack was added in 2014, I guess we fixed the ArchetypeBuilder
  since then.

- We never end up here where the original type to substitute is a
  recursive archetype. Recursive archetypes are not really a thing
  that is implemented properly, and even in the compiler_crashers
  collection this wasn't triggered.

- With the above two changes, the mapTypeIntoContext() call is not
  necessary at all, which is nice because this is somewhat inefficient;
  mapTypeIntoContext() walks all outer generic parameter lists to
  find the archetype for the given dependent type.

JGiola/swift,tardieu/swift,gottesmm/swift,xedin/swift,JaSpa/swift,milseman/swift,danielmartin/swift,atrick/swift,milseman/swift,sschiau/swift,rudkx/swift,brentdax/swift,amraboelela/swift,brentdax/swift,JaSpa/swift,djwbrown/swift,shahmishal/swift,bitjammer/swift,xedin/swift,gregomni/swift,modocache/swift,felix91gr/swift,aschwaighofer/swift,sschiau/swift,airspeedswift/swift,jtbandes/swift,felix91gr/swift,frootloops/swift,tinysun212/swift-windows,JaSpa/swift,modocache/swift,lorentey/swift,zisko/swift,shajrawi/swift,nathawes/swift,gmilos/swift,glessard/swift,therealbnut/swift,return/swift,karwa/swift,shajrawi/swift,deyton/swift,arvedviehweger/swift,huonw/swift,Jnosh/swift,codestergit/swift,Jnosh/swift,gregomni/swift,manavgabhawala/swift,arvedviehweger/swift,zisko/swift,uasys/swift,benlangmuir/swift,manavgabhawala/swift,airspeedswift/swift,therealbnut/swift,swiftix/swift,return/swift,jckarter/swift,atrick/swift,arvedviehweger/swift,shahmishal/swift,swiftix/swift,austinzheng/swift,jtbandes/swift,ahoppen/swift,uasys/swift,milseman/swift,OscarSwanros/swift,bitjammer/swift,uasys/swift,bitjammer/swift,Jnosh/swift,kperryua/swift,tjw/swift,jckarter/swift,jopamer/swift,modocache/swift,amraboelela/swift,gmilos/swift,kstaring/swift,xwu/swift,zisko/swift,IngmarStein/swift,frootloops/swift,sschiau/swift,danielmartin/swift,felix91gr/swift,aschwaighofer/swift,devincoughlin/swift,tkremenek/swift,alblue/swift,calebd/swift,harlanhaskins/swift,devincoughlin/swift,Jnosh/swift,airspeedswift/swift,danielmartin/swift,swiftix/swift,austinzheng/swift,atrick/swift,aschwaighofer/swift,xedin/swift,kperryua/swift,airspeedswift/swift,OscarSwanros/swift,tjw/swift,roambotics/swift,glessard/swift,kstaring/swift,CodaFi/swift,djwbrown/swift,devincoughlin/swift,jmgc/swift,airspeedswift/swift,djwbrown/swift,hughbe/swift,harlanhaskins/swift,kstaring/swift,tinysun212/swift-windows,benlangmuir/swift,danielmartin/swift,allevato/swift,ahoppen/swift,manavgabhawala/swift,ben-ng/swift,practicalswift/swift,stephentyrone/swift,alblue/swift,austinzheng/swift,modocache/swift,hooman/swift,jopamer/swift,jckarter/swift,brentdax/swift,roambotics/swift,nathawes/swift,roambotics/swift,tardieu/swift,ben-ng/swift,gottesmm/swift,lorentey/swift,swiftix/swift,gregomni/swift,return/swift,apple/swift,sschiau/swift,alblue/swift,aschwaighofer/swift,JaSpa/swift,hughbe/swift,bitjammer/swift,brentdax/swift,CodaFi/swift,CodaFi/swift,gmilos/swift,jckarter/swift,arvedviehweger/swift,sschiau/swift,felix91gr/swift,apple/swift,tardieu/swift,modocache/swift,devincoughlin/swift,therealbnut/swift,JGiola/swift,harlanhaskins/swift,JaSpa/swift,jckarter/swift,austinzheng/swift,hooman/swift,nathawes/swift,codestergit/swift,natecook1000/swift,zisko/swift,tardieu/swift,kperryua/swift,roambotics/swift,shahmishal/swift,felix91gr/swift,harlanhaskins/swift,calebd/swift,jmgc/swift,gmilos/swift,danielmartin/swift,therealbnut/swift,milseman/swift,calebd/swift,tjw/swift,ahoppen/swift,deyton/swift,CodaFi/swift,zisko/swift,arvedviehweger/swift,tinysun212/swift-windows,xedin/swift,lorentey/swift,ben-ng/swift,amraboelela/swift,gribozavr/swift,danielmartin/swift,karwa/swift,parkera/swift,rudkx/swift,gregomni/swift,deyton/swift,deyton/swift,lorentey/swift,jmgc/swift,gottesmm/swift,kperryua/swift,milseman/swift,stephentyrone/swift,allevato/swift,arvedviehweger/swift,xwu/swift,ben-ng/swift,tkremenek/swift,devincoughlin/swift,nathawes/swift,harlanhaskins/swift,gmilos/swift,manavgabhawala/swift,shajrawi/swift,kstaring/swift,ben-ng/swift,jtbandes/swift,jopamer/swift,brentdax/swift,ben-ng/swift,practicalswift/swift,roambotics/swift,gottesmm/swift,deyton/swift,tinysun212/swift-windows,gribozavr/swift,jmgc/swift,felix91gr/swift,allevato/swift,glessard/swift,allevato/swift,gribozavr/swift,jmgc/swift,practicalswift/swift,shahmishal/swift,djwbrown/swift,rudkx/swift,kstaring/swift,parkera/swift,karwa/swift,tjw/swift,gottesmm/swift,swiftix/swift,Jnosh/swift,practicalswift/swift,amraboelela/swift,rudkx/swift,JaSpa/swift,OscarSwanros/swift,atrick/swift,hughbe/swift,frootloops/swift,djwbrown/swift,natecook1000/swift,stephentyrone/swift,huonw/swift,OscarSwanros/swift,benlangmuir/swift,arvedviehweger/swift,jmgc/swift,parkera/swift,tinysun212/swift-windows,xwu/swift,amraboelela/swift,xedin/swift,IngmarStein/swift,gribozavr/swift,IngmarStein/swift,therealbnut/swift,shajrawi/swift,gregomni/swift,shahmishal/swift,swiftix/swift,benlangmuir/swift,djwbrown/swift,stephentyrone/swift,rudkx/swift,allevato/swift,alblue/swift,brentdax/swift,shahmishal/swift,xedin/swift,manavgabhawala/swift,airspeedswift/swift,apple/swift,stephentyrone/swift,karwa/swift,zisko/swift,IngmarStein/swift,practicalswift/swift,austinzheng/swift,OscarSwanros/swift,codestergit/swift,milseman/swift,jckarter/swift,kperryua/swift,hughbe/swift,parkera/swift,natecook1000/swift,shajrawi/swift,glessard/swift,hughbe/swift,JaSpa/swift,stephentyrone/swift,uasys/swift,lorentey/swift,OscarSwanros/swift,xwu/swift,aschwaighofer/swift,harlanhaskins/swift,milseman/swift,gribozavr/swift,tardieu/swift,parkera/swift,OscarSwanros/swift,austinzheng/swift,IngmarStein/swift,lorentey/swift,karwa/swift,apple/swift,karwa/swift,allevato/swift,JGiola/swift,tkremenek/swift,nathawes/swift,hooman/swift,uasys/swift,jtbandes/swift,allevato/swift,tkremenek/swift,stephentyrone/swift,practicalswift/swift,codestergit/swift,ben-ng/swift,ahoppen/swift,bitjammer/swift,therealbnut/swift,jtbandes/swift,xwu/swift,xwu/swift,airspeedswift/swift,atrick/swift,jopamer/swift,devincoughlin/swift,practicalswift/swift,bitjammer/swift,rudkx/swift,xwu/swift,natecook1000/swift,nathawes/swift,hooman/swift,huonw/swift,aschwaighofer/swift,huonw/swift,frootloops/swift,hughbe/swift,amraboelela/swift,alblue/swift,deyton/swift,calebd/swift,karwa/swift,gottesmm/swift,CodaFi/swift,austinzheng/swift,modocache/swift,huonw/swift,bitjammer/swift,tkremenek/swift,gribozavr/swift,apple/swift,codestergit/swift,gmilos/swift,felix91gr/swift,gottesmm/swift,jtbandes/swift,ahoppen/swift,manavgabhawala/swift,shajrawi/swift,lorentey/swift,calebd/swift,apple/swift,xedin/swift,CodaFi/swift,sschiau/swift,parkera/swift,uasys/swift,benlangmuir/swift,kperryua/swift,gmilos/swift,karwa/swift,natecook1000/swift,jopamer/swift,tjw/swift,zisko/swift,Jnosh/swift,swiftix/swift,xedin/swift,glessard/swift,tinysun212/swift-windows,gribozavr/swift,parkera/swift,jopamer/swift,codestergit/swift,natecook1000/swift,IngmarStein/swift,amraboelela/swift,hooman/swift,CodaFi/swift,modocache/swift,shajrawi/swift,tardieu/swift,JGiola/swift,djwbrown/swift,jmgc/swift,tkremenek/swift,harlanhaskins/swift,Jnosh/swift,jopamer/swift,frootloops/swift,frootloops/swift,natecook1000/swift,kstaring/swift,deyton/swift,practicalswift/swift,gregomni/swift,return/swift,calebd/swift,JGiola/swift,therealbnut/swift,benlangmuir/swift,glessard/swift,devincoughlin/swift,codestergit/swift,IngmarStein/swift,calebd/swift,brentdax/swift,sschiau/swift,huonw/swift,tkremenek/swift,huonw/swift,jckarter/swift,tjw/swift,JGiola/swift,alblue/swift,nathawes/swift,danielmartin/swift,roambotics/swift,sschiau/swift,shajrawi/swift,atrick/swift,alblue/swift,uasys/swift,aschwaighofer/swift,devincoughlin/swift,manavgabhawala/swift,kperryua/swift,tardieu/swift,return/swift,jtbandes/swift,tjw/swift,shahmishal/swift,gribozavr/swift,hughbe/swift,hooman/swift,return/swift,return/swift,frootloops/swift,kstaring/swift,parkera/swift,lorentey/swift,ahoppen/swift,shahmishal/swift,tinysun212/swift-windows,hooman/swift