Sema: Visit types of captures to determine if a closure captures the generic signature
Otherwise, we can miss that 'self' has a generic type when accessed
via a 'super' call if the type of 'super' is concrete.
This is a regression from a patch series to allow C function pointers
to be formed from closures in generic contexts -- basically, the
check was not conservative enough, and in this case, it would
conclude the closure did not capture the generic signature when
in reality it did:
https://github.com/apple/swift/commit/533f42dd2fa43f4de2b2adf3a3e3b36b972dd00d
Fixes <rdar://problem/25439564>.