core: improve exception handling on run vm

In case an exception is thrown when calling the 'create' verb in VDSM
and there is no point to retry to run the VM on other host, we used to
just re-throw the exception in RunVmCommand to prevent the rerun
mechanism from taking place.

The problem is that this way the pending resources were not cleared
in this flow. The solution is to improve the error handling:
1. If Done/exists exception was thrown, we call the reportCompleted to
decrease the pending resources
2. If VDS_NETWORK_ERROR/PROVIDER_FAILURE exception was thrown, we call
the runningFailed to decrease the pending resources (in this case, the
VM should be treated as if it went down, we should remove its
stateless snapshot if such snapshot exists for example).

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