StackResource consider files in implementation_signature

Currently, if the definition of something changes further down
the tree (beyond the template in the StackResource itself in a
more deeply nested template, e.g a provider resource in a
provider resource), we don't recurse on update, so the changes
are not reflected correctly on update.

So modify the definition part of the StackResource implementation
signature so we include both the resource template and the files
map, so we recurse whenver the files content has changed.

Note, on upgrade the first stack update of nested stacks after
this change will update even if no changes have occurred, because
the signature will change.  This should be a no-op other than
the stacks going UPDATE_COMPLETE.

Change-Id: Iff3ecfbe410e47e31f78e111065888b7fd2ddd00
Partial-Bug: #1389499
(cherry picked from commit 32b4988ae5a3720e8a8c6edd2521d1dc659ad971)
SoftwareDeployments make servers property updateable

Allow the servers list to be updated, which will cause an update
of the resource group instead of replacing it.

This looks inconvenient to test in the unit tests due to needing
to create a coupled nested stack (which will further impede the
decouple-nested work), so I'll post a followup patch with a
functional test instead, if that's viewed as acceptable.

Change-Id: I1714d2cef2d0edbeb82c16e5a83acc458009bd47
Closes-Bug: #1389178
(cherry picked from commit 218e1038f2828258eaf1e15d85cf074697f851a9)
Merge "StackResource consider files in implementation_signature" into stable/juno
Merge "SoftwareDeployments make servers property updateable" into stable/juno