[CORE] vmm_manager: Improve vmm_manager_vcpu_set_affinity() API

Currently, the vmm_manager_vcpu_set_affinity() API only tries to
ensure current vcpu->hcpu is set in new vcpu affinity mask. This
does not cover all cases because it can happen that current
vcpu->hcpu is not set new vcpu affinity mask but old vcpu affinity
mask and new vcpu affinity mask overlap.

The only constraint that needs to be ensured is that old vcpu
affinity mask overlaps with new vcpu affinity mask. If current
vcpu->hcpu is not set in new vcpu affinity mask then we change
the vcpu->hcpu such that it is set in both old affinity mask
and new affinity mask.

This patch improves vmm_manager_vcpu_set_affinity() as-per above
description.

Signed-off-by: Anup Patel <anup@brainfault.org>