[ConstraintSystem] Make `ForceOptional` fix a part of `repairFailures`
[ConstraintSystem] Make `ForceOptional` fix a part of `repairFailures`

Instead of always attempting an optional unwrap fix if types differ
in optionality, let's make it more targeted for each applicable
locator and conversion.

In addition adjust a couple of uses of `ForceOptional` fix to avoid
recording the same fix multiple times and use appropriate `impact`
instead.

tkremenek/swift,ahoppen/swift,jmgc/swift,gregomni/swift,aschwaighofer/swift,jckarter/swift,aschwaighofer/swift,atrick/swift,atrick/swift,stephentyrone/swift,ahoppen/swift,lorentey/swift,roambotics/swift,parkera/swift,nathawes/swift,harlanhaskins/swift,apple/swift,parkera/swift,hooman/swift,gribozavr/swift,xwu/swift,atrick/swift,atrick/swift,CodaFi/swift,nathawes/swift,stephentyrone/swift,allevato/swift,jmgc/swift,tkremenek/swift,gribozavr/swift,hooman/swift,JGiola/swift,aschwaighofer/swift,allevato/swift,lorentey/swift,JGiola/swift,JGiola/swift,airspeedswift/swift,benlangmuir/swift,parkera/swift,gregomni/swift,harlanhaskins/swift,tkremenek/swift,glessard/swift,rudkx/swift,roambotics/swift,roambotics/swift,nathawes/swift,parkera/swift,allevato/swift,aschwaighofer/swift,airspeedswift/swift,airspeedswift/swift,CodaFi/swift,JGiola/swift,gregomni/swift,aschwaighofer/swift,jckarter/swift,gribozavr/swift,stephentyrone/swift,karwa/swift,karwa/swift,tkremenek/swift,CodaFi/swift,apple/swift,xwu/swift,atrick/swift,tkremenek/swift,karwa/swift,rudkx/swift,tkremenek/swift,hooman/swift,xwu/swift,roambotics/swift,hooman/swift,gribozavr/swift,allevato/swift,gribozavr/swift,nathawes/swift,airspeedswift/swift,apple/swift,harlanhaskins/swift,CodaFi/swift,airspeedswift/swift,jckarter/swift,allevato/swift,apple/swift,karwa/swift,rudkx/swift,nathawes/swift,nathawes/swift,lorentey/swift,parkera/swift,parkera/swift,rudkx/swift,stephentyrone/swift,ahoppen/swift,aschwaighofer/swift,harlanhaskins/swift,parkera/swift,jmgc/swift,karwa/swift,benlangmuir/swift,lorentey/swift,lorentey/swift,xwu/swift,apple/swift,harlanhaskins/swift,harlanhaskins/swift,rudkx/swift,CodaFi/swift,jckarter/swift,hooman/swift,karwa/swift,glessard/swift,benlangmuir/swift,jckarter/swift,benlangmuir/swift,glessard/swift,xwu/swift,rudkx/swift,roambotics/swift,glessard/swift,CodaFi/swift,atrick/swift,gregomni/swift,parkera/swift,benlangmuir/swift,tkremenek/swift,glessard/swift,hooman/swift,lorentey/swift,roambotics/swift,jmgc/swift,harlanhaskins/swift,stephentyrone/swift,karwa/swift,airspeedswift/swift,stephentyrone/swift,apple/swift,lorentey/swift,ahoppen/swift,karwa/swift,glessard/swift,xwu/swift,jmgc/swift,allevato/swift,gribozavr/swift,hooman/swift,CodaFi/swift,nathawes/swift,allevato/swift,ahoppen/swift,aschwaighofer/swift,benlangmuir/swift,gregomni/swift,gribozavr/swift,jmgc/swift,stephentyrone/swift,xwu/swift,JGiola/swift,JGiola/swift,ahoppen/swift,gregomni/swift,jmgc/swift,gribozavr/swift,jckarter/swift,lorentey/swift,jckarter/swift,airspeedswift/swift