[ConstraintSystem] Record contextual mismatch if type is missing conformance in assignment
[ConstraintSystem] Record contextual mismatch if type is missing conformance in assignment

```swift
struct S {}

protocol P {}

func foo(_ value: S) {
  var p: P? = nil
  p = value
}
```

Assignment destination is a protocol `P` and source is a type `S`
which doesn't conform to `P`. Allow solver to detect this situation
and record `ignore assignment destination type` fix which would
cover a single missing conformance as well as protocol composition.

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