core: fixes to RecoveryStoragePool command

This patch handles the following issues:

1. automatic engine timers and different commands might trigger automated
reconstruct, currently the event queue leave only vds connect operations
in the queue after a run of reconstruct whether it was succesfull or
not, causing to a situation in which a user cannot initiate
RecoveryStoragePool command because of reconstruct operations initiated
by automatic system procedures.

2. race condition/stale data: data loaded within the
canDoAction() run  might have been changed and can be irrelevant
during the reconstruct execution  - therefore the data need to be
reloaded and candoaction should be checked again.

3. The newly domain that should be added as master, should be added to
the db after we performed connect operation to it - otherwise it might
be chosen by different reconstruct as a master domain, but we don't have
storage server connection to it.

4. recoveryStoragePool used to perform reconstruct operation after the
storage pool status is set to Problematic- changed it back to run
reconstruct with the pool set to this status (previous logic).

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