Handle compute node not available for live migration

This patch handles exception.ComputeServiceUnavailable by restoring
instance's vm_state and instance's task_state after live migration
failure caused by unavailable source/dest compute node.

Raises detailed HTTPBadRequest explanation for this exception.

Fixes bug 973393 and bug 1051881

Conflicts:
	nova/scheduler/driver.py
	nova/scheduler/manager.py
	nova/tests/api/openstack/compute/contrib/test_admin_actions.py
	nova/tests/scheduler/test_scheduler.py

Change-Id: If825b61fad9c4e3030f2e6c5002907255eaf3661
Merge "Handle compute node not available for live migration" into stable/folsom