Fix interface-attach removes existing interfaces from db

The following commit 394c693e359ed4f19cc2f7d975b1f9ee5500b7f6 changed
allocate_port_for_instance() to only return the ports that were created
rather than all of the ports on the instance which broke the attach-interface
code.

This patch fixes this issue by remove the sync decorators from:
allocate_for_instance, allocate_port_for_instance, and
deallocate_port_for_instance to just _build_instance_nw_info which
is called in all these cases instead.

Closes-bug: #1223859

Change-Id: I66eb0c0ab926e0a8d1e2c9cfe1f7fd579ea3aa27
Remove unnecessary steps for cold snapshots

Up until now when we created cold snapshots we were stopping the
instance, create an internal snapshot, extract the snapshot to a file
and then delete the internal snapshot before bringing up the instance.

If the instance is shut down, there's no concurrent writer, so the image
can be directly extracted without taking an internal snapshot first,
because the snapshot and the current state are the same.

In this patch the creation and deletion of the internal snapshot are
removed to eliminate the extra steps and optimize the creation of
snapshots a bit.

Closes-Bug: #1242819
Closes-Bug: #1247185

Change-Id: I429fa2e1e26aea321eecbf14edd11263fff525ae
domainEventRegisterAny called too often

Changeid I090765802bfe443440f16722bc7c43b6280fe56a fixes
bug #1240905 but introduced a bug whereby domainEventRegisterAny
is called on every call to _get_connection.

Change-Id: Ifafc6a4c172b1521d62988ccbb3a2f51a95e323f
Fixes: bug #1250135
Remove dup of LibvirtISCSIVolumeDriver in LibvirtISERVolumeDriver

LibvirtISERVolumeDriver is an almost copy of
LibvirtISCSIVolumeDriver.

Change-Id: I7f71be69df6dc203508114fc67f55b7da2b0e529
Removed unused methods from db.api

Since 406ff304bb09f144a59448e0e9d2d01160c7d553 reservation methods
is not called directly so it can be removed from the public API

Related to blueprint db-cleanup

Change-Id: I5a62d0528705b6773f8667375b4e8e3922a1bd15
Merge "Removed unused methods from db.api"
Xenapi: Allow windows builds with xentools 6.1 and 6.2

Building a windows VM with pre-installed xentools
6.1 or 6.2 requires device_id to be set on XEN VM record.

Requires xenapi_device_id to be set on the
image metadata, which is then used to set the device_id
on the vm record.

DocImpact

Implements: blueprint allow-windows-builds-with-xentools6-1-and-6-2
Change-Id: Id3cd9d569519f2df1afa046ddabf33f00d63c615
Merge "Xenapi: Allow windows builds with xentools 6.1 and 6.2"
Merge "Fix interface-attach removes existing interfaces from db"
Merge "Remove dup of LibvirtISCSIVolumeDriver in LibvirtISERVolumeDriver"
Merge "Remove unnecessary steps for cold snapshots"
Merge "domainEventRegisterAny called too often"