Changes for Abiquo 2.4

* Added changes for ABICLOUDPREMIUM-4925

* Refactored asynchronous tasks in Abiquo
  Refactored asynchronous tasks and created a concrete task
  class for each task type. This way it is much easier to get
  the results of the task and the code remains cleaner.

* Improved the method to list all virtual machines
  A new method has been added to the Abiquo 2.4 api to provide direct
  access to all the virtual machines available to the user. This makes
  unnecessary to iterate over all virtual datacenters and appliances of
  that user.
  The strategy doing that has been removed, and the new method has been
  added to the AsyncApi.

* Added basic pagination features in template list
  Added basic pagination features in template listings.
  There is still pending the global refactor to adapt every paginated call
  to the PagedIterable. This commit just makes the
  VirtualMachineTemplateOptions class support the Abiquo pagination query
  parameters.

* Added allowed tiers feature to Abiquo
  Abiquo 2.4 introduces a new feature to allow platform administrator to
  configure the visibility of the storage tiers for each tenant, in order
  to have more control over the storage resources usage.

* Enable volume and hard disk ordering
  Since Abiquo 2.4 HardDisk and Volume attachment order can be configured
  in virtual machines. This way, the user will be able to know in advance
  in which device of the virtual machine the virtual disk will be
  attached and will be able to properly build scripts that access the
  external virtual disks.

* Added template definition entity.
  In Abiquo, template definitions are OVF representations of the templates
  that can be made available to each tenant. Those definitions contain
  information such as the operating system type, architecture, default
  login credentials, etc.
  This commit adds the Api calls needed to manage the templates to make
  them available to the tenants, and also improvements to the Abiquo
  ComputeService implementation that makes use of all the information
  provided by the template definitions.

* Added anti affinity features.
  Abiquo 2.4 introduces the concept of Layers in a virtual
  appliance. This allows virtual machines deployed in the same layer
  to be configured to use the anti affinity features and force
  them to be deployed in different hosts.
  This is useful for users deploying high available services, to
  make sure that a failure in a host will not make the service crash.
Changes for Abiquo 2.6

* Removed HypervisorType and DiskFormatType enumerations and removed
  the am-model dependency,

* Set 'vncEnabled' flag in VirtualMachine data
  Since Abiquo 2.6, you are able to enable/disable VNC configuration.
  Previous to Abiquo 2.6 was always enabled by default. This change
  sets the flag 'vncEnabled' in the VirtualMachine domain object.

* Changes for repository pricing