HV-877 Supporting type use constraints on type arguments

This applies to `PropertyMetaData`. After your feedback, I'll continue the work on parameters and return values and I'll extend `ParameterMetaData` and `ReturnValueMetaData`.
> I don't think that for this approach we need to fully fledged metadata providers.

Can you elaborate? How would we retrieve type use constraints with Java 8?