Move implementation_signature to StackResource

We need to use common logic for the update determination which
uses implementation_signature, so move the common code from
TemplateResource to the StackResource base-class.

Change-Id: Ibd64b3607721487be5b0562cdb54e6c76db51149
Partial-Bug: #1389499
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
Merge "Move implementation_signature to StackResource"
Merge "StackResource consider files in implementation_signature"