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`.
> Regarding the name TypeUseAnnotationMetaDataProvider implies to me somehow that this is "just" an annotation provider for type use. Maybe something like 'AnnotationMetaDataProviderWithTypeUse` is better. I admit though this is a mouth full. WDYT?

I think the documentation and code clearly shows that `TypeUseAnnotationMetaDataProvider` extends a base `AnnotationMetaDataProvider` which is sufficient. But I have no strong opinion here, I can go with whatever you prefer.