Include group argument in calls to create_software_config

group is a mandatory argument, and was missing from some calls.

This change also adds tests which checks all arguments to
create_software_config for cloud_config and multi_part

Change-Id: I64aba8c31bfa69fa209aefb3d86adfa6313a6621
Closes-Bug: #1392327
Fix and assert calls to update_software_deployment

Some calls to update_software_deployment had incorrect arguments.
This change fixes those calls and also asserts call arguments
in test_software_deployment.

Change-Id: I5a2b8a10fd7be6e9728d28b1894067f07102dad9
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"
Merge "Include group argument in calls to create_software_config"
Merge "Fix and assert calls to update_software_deployment"