tieredAlloc: Shrink for effect
tieredAlloc: Shrink for effect

When shrinking an instance do not shrink just in arbitrary
"unit" steps, but instead shrink until the failure statistics
changes. In this way, we only consider side branches (unilaterally
changing a single resource despite not the reason for the
majority of failures) only at places where we there is the possibility
to achieve something.

Signed-off-by: Klaus Aehlig <4ce51de36d9068cd7db2eec1151e0f3f95419008@google.com>
Reviewed-by: Petr Pudlak <9d19625f8ee825a2c398462ed335cbcf98f79c32@google.com>

bitemyapp/ganeti,andir/ganeti,andir/ganeti,leshchevds/ganeti,bitemyapp/ganeti,mbakke/ganeti,onponomarev/ganeti,ganeti/ganeti,onponomarev/ganeti,leshchevds/ganeti,ganeti/ganeti,mbakke/ganeti,andir/ganeti,ganeti/ganeti,leshchevds/ganeti,mbakke/ganeti