Move all iallocator functions into a class
Move all iallocator functions into a class

This patch moves all the iallocator function into a separate class that
is then somewhat easier to use. It doesn't bring any new functionality.

The patch also changes the way the iallocator is called - the
OpTestAllocator opcode is no longer needed, and all its parameters
should be passed directly to the IAllocator constructor.

Reviewed-by: ultrotter


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