core: synchronize pool storage domain operations

Storage domain activation and deactivation were historically
synchronized on the SPM. In preparation for the storage pool
metadata removal we need to move this synchronization on the
engine side in order to send consistent domains map information
when connecting or refreshing the storage pool.

Change-Id: Ie2d90d9589181802a2722b0e841a6342af0a807c
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
core: send domains map on connectStoragePool

This patch adds the support for the new connectStoragePool API
introduced in vdsm for the data center level 3.4:

  connectStoragePool(hostId, scsiKey, mstUUID, masterVersion,
                     domainsMap)

domainMap is a dictionary of domains UUID and their current
status [Attached|Active], e.g.:

  domainMap = {
    sdUUID1: "Attached",
    sdUUID2: "Active",
    ...
  }

Now that connectStoragePool contains all the information about
the pool domains the refreshStoragePool call is obsolete and in
fact in data center level 3.4 should never be used.

Feature page at:

 http://wiki.ovirt.org/Features/StoragePool_Metadata_Removal

Change-Id: Ic16034c6757959e5d0445814a8acc2221a74f6aa
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
core: add the domain activating state

This patch adds an additional "Activating" domain state used to track
the ongoing operation so that we can do more informed decisions (for
example building the storage pool domains map).

Change-Id: I537dd962d16fa602f101b91fb68c037be4fa307d
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>