engine: fix execution context of SetNonOperationalVdsCommand

This patch sets the execution context of SetNonOperationalVdsCommand to
async when it triggers migrations for the VMs which are running in the
VDS.

Previously the execution context of this command was always sync which
caused to DataIntegrityViolationException in the following scenarion:
1. the SetNonOperationalVdsCommand was triggered
2. migrations for the VMs running in the Vds was triggered
3. the sync part of SetNonOperationalVdsCommand ended succesfully
causing the job to be marked with Finished status
4. the job is cleared from the db by the periodic process that clean
finished jobs
5. the migration fails, thus it's being rerun
6. the migration rerun process is trying to add step, but its job
doesn't exist in the DB

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