core: Fix backend allow 'cpu pinning' with no host

When working via API the user could add a VM with no defined host (start
from any host in cluster) and set the 'cpu pinning' string. This should
not be permitted.

Fixed the validity checked in the AddVmCommand and UpdateVmCommand.
Added a new error message.

Change-Id: Iff00debc039a5476c19966dd91425566a3562e02
Bug-Url: https://bugzilla.redhat.com/928689
Signed-off-by: Ofri Masad <omasad@redhat.com>