Don't stop creates/updates immediately on error

When an error occurs during a stack create or update operation, don't
immediately stop the operation. Instead, wait up to 4 minutes for resoures
already in progress to complete before forcibly cancelling them. This
minimises the number of resources that will need to be replaced when using
the features from the blueprint update-failure-recovery to recover after
such a failed operation.

Change-Id: Ib08f3d8faea31f251a46fc0537983127f8ba2783
Add test for ResourceDefinition equality

ResourceDefinition objects compare equal if they are generated from
equivalent templates. Only the MRO stands between us and disaster (since
both superclasses - ResourceDefinitionCore and collections.Mapping - define
__eq__ methods), so add a test to confirm that we are getting the correct
one.

Change-Id: I8181f91f08fd81104fe493539511d6fd129522c8
Merge "Don't stop creates/updates immediately on error"
Merge "Add test for ResourceDefinition equality"