core: DeactivateStorageDomain - allow unknown status if executed as internal

When the deactivate storage domain command is executed as internal
command, allow deactivating when the domain status is unknown - this is
required so that domain failover process will be able to deactivate
domains also if their status is unknown.

Change-Id: I6e84a6ce8bf81d263c7466d1e99ed4233e16e1ad
related to Bug-Url: https://bugzilla.redhat.com/912054
Signed-off-by: Liron Aravot <laravot@redhat.com>
core: Storage domains failover never runs when all domains in problem

When blocking connections to all storage domains of pool at once,
reconstruct will never success as we don't have a working connection
to any domain, each running reconstruct will clear the domain timers,
meaning that the domains will never move to be inactive.

Basically the behaviour after this patch will be-
Successful reconstruct : clear jobs, problematic data and all events
from the queue.
Failed reconstruct: leave jobs, 'problematic' domains and vds data,
leave DOMAINFAILOVER/VDSCLEARCACHE events in the queue.

This patch adds the following changes:
*Event with the type of DOMAINFAILOVER/VDSCLEARCACHE should be added to
the queue when
reconstruct runs and also stay in the queue after unsuccessful
reconstruct.

*MarkPoolInReconstructMode which clears the timers and delete the
'problematic' data should be executed only if the reconstruct command
succeeded so that the domains will be able to move to inactive state,
I've removed also the no longer parameters and enum classes.

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