stack delete fails when instance is soft deleted

In an environment where reclaim_instance_interval is set to
non-zero in nova, an delete request will only soft delete an
instance.(status=SOFT_DELETED, so that the instance can be reclaimed
if required by using 'nova restore <instance_id>')

Now in the above environment, when an delete stack is requested by
user, stack will hang until reclaim_instance_inerval or timeout.
Hence status=SOFT_DELETED for an instance should be handled by heat, which
this patch proposes.

Closes-Bug: #1377290

Change-Id: I86ea788131f113e3deb7aebfccecd7f5e4957ae5
Don't stop update immediately on error

When an error occurs during a stack update operation,
don't immediately stop the operation. Instead,
wait up to 4 minutes for resources already in progress
to complete before forcibly cancelling them.

Change-Id: Ib089dbc675c519668a44d1b0e3214feca5079978
Closes-bug: #1381984
Functional test UpdateStackTest

This is a port of tempest.api.orchestration.stacks.stack_update
in an effort to reproduce the postgres race described in
bug #1370865.

Subsequent changes will create an experimental postgres check job and
a change to the test which runs test_stack_update_add_remove enough
times to triger the race.

Change-Id: I8aee26e29f242b11a5d3c8d56a859ae770be86c2
Related-Bug: #1370865
Merge "Functional test UpdateStackTest"
Merge "Don't stop update immediately on error"
Merge "stack delete fails when instance is soft deleted"