Implement first version of tiered allocations
Implement first version of tiered allocations

This patch adds the first version of tiered allocations where we
decrease instance specs on allocation failure and retry the allocation.
The output is not yet stable and the output changes are not documented
(yet).

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