core: Change how Affinity behaves if the assumptions are invalid

This fixes the situation when VMs belonging to the same hard
constraint positive affinity group are actually running on
more than one host.

It used to fail the scheduling task for any VM belonging to
the same affinity group (both new VMs and migrating ones).

This patch just passes all hosts with VM from that group
to the weighting mechanism making it possible for the
balancer or administrator to recover from this situation.

This change also makes it easier to report per host scheduling
information which we need for the following patches.

Change-Id: I506bcb6e96c622694e6bf7b8ce7a0f54a82e5713
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1122446
Signed-off-by: Martin Sivak <msivak@redhat.com>
(cherry picked from commit 08971784344624f526287d510adc5cb0ef297403)