Fix a race where a soft deleted instance might be removed by mistake

When a soft deleted instance is restored there is a tiny risk that it
might be deleted if the reclaim periodic task runs at the same time.
This happens because the restore operation sets deleted_at to None
which makes the reclaim job think it is ok to delete the instance.

This can be resolved by restricting reclaims to only those instances
whose task_state is None.

Resolves bug 1186243.

Conflicts:
	nova/compute/manager.py
	nova/db/sqlalchemy/api.py
	nova/tests/compute/test_compute.py

Change-Id: Ia138e2d504b7482c46900583f019a32c70513245
(cherry picked from commit cdf10381caad217ae9eb99c69a4226e40ba81db4)
Merge "Fix a race where a soft deleted instance might be removed by mistake" into stable/grizzly