core: set address explicitly for VirtIO-SCSI devices

Upon VM start, libvirt uses automatic address allocation for defining
addresses for each device (when not defined addresses explicitly).
As part of the automatic allocation, libvirt limits maximum units
(disks) for each controller [6 (narrow bus) / 15 (wide bus)].

In order to bypass this limitation, engine should set each device
address explicitly while keeping unit value (disk's index in
VirtIO-SCSI controller) unique and consecutive in the VM devices.

More details and full discussion:
https://www.redhat.com/archives/libvir-list/2013-November/msg01113.html

Change-Id: Iee79ff3f72b8018d0c26b37503f480643a845765
Bug-Url: https://bugzilla.redhat.com/1035453
Signed-off-by: Daniel Erez <derez@redhat.com>