SILGen: Add explicit 'self' metadata parameter when 'self' is a mutable capture
If a closure uses DynamicSelfType but doesn't capture the 'self' value
itself, we would add a dummy metatype capture so that IRGen can recover
metadata.
Also do this if we do capture a value of DynamicSelfType, but mutably,
that is by address or by box, since IRGen doesn't know how to recover
the metadata in that case.
Fixes <rdar://problem/32288771>.