engine: Fixing RecoveryStoragePool and EventQueue

The following fix is doing the following:
1. The event trigerred by RecoveryStoragePoll will be cleaned from queue if a previous
   event was reconstruct and it finished with success
2. The event of RecoveryStoragePool will be added the first to the queue, because of it was
   triggered by user
3. Removed a code from RecoveryStoragePool which should prevent a race, the reason is no race is prevented,
   code was duplicated, the logic was duplicated, the logic should be simple and rewritted in other way

Change-Id: I3b58f095c69c76116f0af44b08ccaf41d1ff1fb8
Signed-off-by: Michael Kublin <mkublin@redhat.com>
engine: Clean up of RecoveryStoragePoolCommand

I made code more readable and removed some mess

Change-Id: I44e31df68e01e30e7c58c25dfcf31c7088fc392c
Signed-off-by: Michael Kublin <mkublin@redhat.com>
engine: Making increase of storage pool master domain version atomic operation

The following patch should make an increase of master storage domain version atomic
operation. This is done in order to prevent races and need for cache reload and also to
make code simple

Change-Id: Iaa2657ddfdbf2400f24341b07ab60743d6430481
Signed-off-by: Michael Kublin <mkublin@redhat.com>