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`.
Ah, that's a good point. I didn't consider the instance where a user would annotate more than one type argument. I'll update the `TypeUseAnnotationMetaDataProvider` to only consider the last type argument (the value in the Map).