engine: Use ValidationResult enhancements in ProviderValidator

The ValidationResult.failWith().when() provides a nice api
for validation. The patch uses it in ProviderValidator.

Change-Id: Ibcff64a7f77a95a6ae788c8871c7d673829a0223
Signed-off-by: Moti Asayag <masayag@redhat.com>