Extract live-migration scheduler logic from the scheduler driver

Before moving the control of live-migration into the conductor,
extract the live-migration control logic into a separate class.

The callback to select_hosts will be replaced by a new
scheduler rpc method in a later changeset.

Part of blueprint live-migration-to-conductor
Change-Id: I6de33ada6dc377e20f8df07da92244f2c150b9fe
Merge "Extract live-migration scheduler logic from the scheduler driver"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp