Compute migration restrictions and receiving ability
Compute migration restrictions and receiving ability

Provide two functions getMigRestrictions and getRecvMigRestrictions.
The first computes the migration restrictions, given the the cluster
tags and the tags of a node. The second computes the set of restrictions
a node is able to receive, again, given the cluster tags and the node
tags. Migration is possible if the the migration restrictions of the
source node are a subset of the set of restrictions the target node
is able to receive. This is as described in the location awareness
design document.

Signed-off-by: Klaus Aehlig <4ce51de36d9068cd7db2eec1151e0f3f95419008@google.com>
Reviewed-by: Helga Velroyen <2d0126b1ec6f9ec5cbec4a7012aa14faeaef10f5@google.com>

leshchevds/ganeti,ganeti-github-testing/ganeti-test-1,onponomarev/ganeti,apyrgio/ganeti,andir/ganeti,dimara/ganeti,yiannist/ganeti,andir/ganeti,dimara/ganeti,apyrgio/ganeti,ganeti/ganeti,yiannist/ganeti,mbakke/ganeti,bitemyapp/ganeti,yiannist/ganeti,ganeti/ganeti,grnet/snf-ganeti,onponomarev/ganeti,ganeti/ganeti,leshchevds/ganeti,andir/ganeti,grnet/snf-ganeti,mbakke/ganeti,mbakke/ganeti,leshchevds/ganeti,bitemyapp/ganeti,ganeti-github-testing/ganeti-test-1