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`.
This implementation looks quite similar to the one in the base class. The redundancy concerns me a bit. What do you think about the removing `findPropertyMetaData()` here and only defining the required _hooks_ in the base class (where they would be implemented empty)? So you'd have the following in the base class:

	protected ConstrainedField findPropertyMetaData(Field field) {
		Set<MetaConstraint<?>> constraints = convertToMetaConstraints(
				findConstraints( field, ElementType.FIELD ),
				field
		);

		Map<Class<?>, Class<?>> groupConversions = getGroupConversions(
				field.getAnnotation( ConvertGroup.class ),
				field.getAnnotation( ConvertGroup.List.class )
		);

		Set<ConstrainedTypeArgument> constrainedTypeArguments = findFieldConstrainedTypeArguments( field );
		boolean isCascading = field.isAnnotationPresent( Valid.class );
		boolean requiresUnwrapping = determineIfRequiresUnwrapping( field, !constrainedTypeArguments.isEmpty() );

		return new ConstrainedField(
				ConfigurationSource.ANNOTATION,
				ConstraintLocation.forProperty( field ),
				constraints,
				groupConversions,
				isCascading,
				requiresUnwrapping
		);
	}

	// overridden in the sub-class with the proper Java 8 implementation
	protected Set<ConstrainedTypeArgument> findFieldConstrainedTypeArguments(Field field) {
		return Collections.emptySet();
	}

	// overridden in the sub-class with the proper Java 8 implementation
	protected determineIfRequiresUnwrapping(...) {
		...
	}

That way you would have no redundancy at all, only those aspects which need to be different for the type annotation case can be customized by overiding the hook methods.