core: SyncLunsInfo - avoidable executions/db deadlock

Currently SyncLunsInfoForBlockStorageDomainCommand is being executed
when connecting to a domain storage server. This command is resposible
to check if any of the luns of the domain were changed and in case it
did, update the DB accordingly.

When a storage domain is being activated all of it's hosts are being
connected simoltenously to the domain, which leads that
SyncLunsInfoForBlockStorageDomainCommand is executed multiple times
(once for each host) which is unneeded as it's exactly the same as
having response from one host (even if the responses of the hosts are
different, we can't decide which response is correct).

When being executed simoltenously, possibly concurrent updates from the
different threads can be made - as the order of the updates isn't
garuanteed, there's a chance for a deadlock.

This patch solves it by executes the operation for only one hosts at a
time, only in case of failure (which should be rare) the engine will
attempt to sync the luns through a different host.

Change-Id: I725964aa51ac38bf16d83cc498c5298720031632
Bug-Url: https://bugzilla.redhat.com/1115845
Signed-off-by: Liron Aravot <laravot@redhat.com>