[Distributed] Tighten recordGenericSubstitution ad-hoc requirement check
There was an old TODO to tighten signature checking in
isDistributedTargetInvocationEncoderRecordGenericSubstitution so I
finally did:
- the enclosing type must conform to 'DistributedTargetInvocationEncoder'
- the single parameter must be the metatype of the single generic parameter
('T.Type'), rather than accepting any single parameter