xenapi: Resize operations could be faster

 * Improves the code by using only one time resize2fs during the resize.
 * Removes the not used method: "_get_min_sectors".
 * Uses a VDI clone instead of copy in resize_disk's method.
 * Review of some test cases to accept the new behavior
   without _get_min_sectors.

Closes-Bug: 1221332
Change-Id: I40a1d7d467353ba904689d128de7f89d785b4052
Libvirt: allow more than one boot device

This patch makes use of the boot_index information of block devices to
allow libvirt to boot from devices other than disks, and have more than
one boot device.

It does so by calculating the boot devices based on block devices type
and boot index, and then assigning the correct list to the GuestConfig's
os_boot_dev (that was made into a list in
I38abe9edaa8f93469d58ad81a466f68c2c0d24d6).

Closes-bug: 1229327
Change-Id: Ic33894cb818ee7c44579e6d00f273b40f669aa9b
Migrate Migration object to Fields

Related to blueprint structured-object-fields

Change-Id: Id09e39f036602116ebdd87f2d063cfff0b3d475d
Migrate SecurityGroup object to Fields

Related to blueprint structured-object-fields

Change-Id: I5f73e403c8adcde4bccc82f35001dbaffe5d3e55
Fix nova DB 215 migration script logic error

This addresses a minor (albeit important) logic error in the migration script
for https://review.openstack.org/#/c/46379/ - that script currently deletes
compute node stats for active compute nodes.  This patch reverses that logic
so it deletes the correct set of compute node stats.

Also included is a migration test case to demonstrate the behavior.

Change-Id: I77afcf443357d0767ac933d791a565289eabee9a
Closes-Bug: #1238281
Merge "Libvirt: allow more than one boot device"
Merge "Fix nova DB 215 migration script logic error"
Merge "xenapi: Resize operations could be faster"
Merge "Migrate Migration object to Fields"
Merge "Migrate SecurityGroup object to Fields"