core: Detect host in idle prep for maintenance and re-migrate

Host going to Maintenance can have ongoing incoming migration before it
changes its status to Preparing for maintainance.

This host will migrate all its VMs except those incoming, which are not
he's still. This will result the host staying in PreparingForMaint
till manual intervention.

The solution has 3 parts:

1. cancel all incoming migrations
2. make cancel migration command trigger a rerun of the migration
automatically
3. detect if host is idle long time in PreparingForMaint and migrate VMs
out

Bug-Url: https://bugzilla.redhat.com/966503
Change-Id: I0e18bcfbc566b6fd92d276c5c739ba607e2a53f0
Signed-off-by: Roy Golan <rgolan@redhat.com>