validate is now honoured when check_exsiting used

The validate parameter was effectively ignored if check_existing was
True. Although it is expected that a provider existing means that
it is validated, this is not always true and in situations where there
are a low number of workers, we cannot guarantee that if a provider
exists then it is validated. Hence if both arguments are checked, both
should be honoured.