Enhance StackResource update for more use cases

Enhance StackResource.update_with_template to accommodate more
possible use cases. This will take care of the nested stack update
failure by raising an exception in such case, so the the concrete
nested stack resource implementations will have a chance to take
some actions upon nested stack update failure.

blueprint nested-stack-updates

Change-Id: Id31ef67e1d7c4928704c6e169bce13f0f7232932
Allow in-place update of nested stack

Not raising UpdateReplace exception anymore for nested stack update.
Instead, propagating the update request to the nested stack, so that
the nested stack itself will decide the best way to handle the update
request for every of its resources.

blueprint nested-stack-updates

Change-Id: Ibfe7bee71fe57a601b93fa05a4a0c1cda972290e
Merge "Enhance StackResource update for more use cases"
Merge "Allow in-place update of nested stack"