[CSGen] Allow `_` pattern to assume type of initializer expression
[CSGen] Allow `_` pattern to assume type of initializer expression

`_` pattern doesn't have a type, it's always contextual, so let's
allow it to assume a type of initializer expression instead of
creating a new type variable. This helps to makes sure that initializer
would never get a placeholder type from `_` pattern it's associated
with.

roambotics/swift,glessard/swift,glessard/swift,glessard/swift,JGiola/swift,JGiola/swift,glessard/swift,apple/swift,glessard/swift,apple/swift,benlangmuir/swift,benlangmuir/swift,apple/swift,roambotics/swift,JGiola/swift,JGiola/swift,JGiola/swift,apple/swift,roambotics/swift,JGiola/swift,benlangmuir/swift,glessard/swift,benlangmuir/swift,roambotics/swift,apple/swift,roambotics/swift,roambotics/swift,benlangmuir/swift,benlangmuir/swift,apple/swift