Modified the logic in setPropertyDatasource which determines if a new converter is needed (#11863)
The previous logic had two flaws
* It allowed converter model type to be a sub type of the model type but not vice versa. Similarly for presentation type.
* If the user has set a converter it should be used and not be replaced unless it is absolutely sure that it cannot in any possible way handle conversion (e.g. converter from integer to double cannot handle string to list conversion). If there is a slight chance that it can handle conversion, let it be and let the user set another converter when needed.