core: managed removal of memory volumes in negative flows

On failure while importing VM or creating snapshot with memory, we need
to remove the memory volumes that were copied/created. The remove image
operation is asynchronous, i.e it is based on tasks. On negative
flows such as the ones mentioned above, we need to remove the memory
image in the end-action phase. Since our infrastructure for commands
doesn't support scenarios where tasks are created in the end-action
phase well, we used to create the tasks for the remove operation without
polling them. The problem was that without polling the tasks they
remained in VDSM forever.

The solution is to invoke the command that removes memory volumes as a
stand-alone command, and not as a child of the failed command. It means
that the tasks will be created as tasks of RemoveMemoryVolumesCommand
and thus its end-action methods will be called and not the ones of the
failed command.

Change-Id: Ib4b270ec0e1ab41cae34459dde9f9cf47b1b5bdf
Bug-Url: https://bugzilla.redhat.com/1056598
Signed-off-by: Arik Hadas <ahadas@redhat.com>