I don't think any of this was necessary anymore, and
I suspect it was working around other related issues
that have since been fixed.
Whatever we did to 'self' here we also would have
had to do for extension methods anyway.
Note that some tests changed but I believe the end
result should be equivalent.
Fixes SR-613, a miscompile that caused an overrelease of "self" when partially applying a protocol method to a generic or existential of a refined class-constrained protocol.