core: Execute clear tasks with new thread.

clearAsyncTasksWithOutVdsmId is executed at the finally step when
executing a vdc command.
If the execute phase encountered a problem, the engine sets the
transaction to rollback only and we can not use it any more.
Since the clearAsyncTasksWithOutVdsmId uses calls to the DB, the engine
throws an EJBTransactionRolledbackException, and the original exception does not
seep to the user.

The proposed solution is to clear the async tasks with a new
transaction, so it will not be dependent on the related execute phase.

Change-Id: I3434c2dbd605e741b2cfbbede8c4a120f21ca9fe
Bug-Url: https://bugzilla.redhat.com/1037441
Signed-off-by: Maor Lipchuk <mlipchuk@redhat.com>
core: Use shorter scope for try catch block

There is no need to put try catch block on createTask since it
is already swallows the exception in CommandBase.

Change-Id: Icbdfa7acaac633a1e2010db5fd9fc9afe4fab219
Signed-off-by: Maor Lipchuk <mlipchuk@redhat.com>
core: Propagate the exception from VDSM to the user

Propagate the exception got from VDSM instead replacing it every time.

Change-Id: Ief319b187950fe188b54aad240e59cda807c0ef9
Signed-off-by: Maor Lipchuk <mlipchuk@redhat.com>
core: Remove redundant else

There is no use for the else phase since when the if condition is true
we already throw an exception.

Change-Id: Idb49270dc895dd38752b1d49a070c4e11d891242
Signed-off-by: Maor Lipchuk <mlipchuk@redhat.com>