core: refactorings in RunVmValidtor#canRunVm

As a first stage in fixing regressions that were found in
RunVmValidator causing HA VMs not to start when there is not SPM
defined, this patch refactor the canRunVM method to be more concise and
readable:
- use RunVmValidator#validate within #canRunVm method to make it shorter
  and more organized.
- changed #validateStorageDomains, #validateImagesForRunVm and
  #validateVdsStatus methods to return ValidationResult instead of
  boolean as the other validation methods

In addition, validations that were executed only when the VM had images
even though they check things which are not related to images were moved
such that they will be always executed.

Change-Id: Ib18c7582a0b1b5686c35259be3aed5d399871a15
Signed-off-by: Arik Hadas <ahadas@redhat.com>