Add test for SoftwareDeploymentGroup resource

Adds an initial test which tests create/delete for this resource,
and that signalling works.

Also tests deleting an in-progress stack as this has been a repeated
source of bugs related to deleting the child stack correctly.

Change-Id: I0d5acdca50467da344388d6c262e61aaaaae22eb
Related-Bug: #1592374
diff --git a/common/test.py b/common/test.py
index ce825c7..ff1b93f 100644
--- a/common/test.py
+++ b/common/test.py
@@ -489,6 +489,10 @@
         resources = self.client.resources.list(stack_identifier)
         return dict((r.resource_name, r.resource_type) for r in resources)
 
+    def get_resource_stack_id(self, r):
+        stack_link = [l for l in r.links if l.get('rel') == 'stack'][0]
+        return stack_link['href'].split("/")[-1]
+
     def stack_create(self, stack_name=None, template=None, files=None,
                      parameters=None, environment=None, tags=None,
                      expected_status='CREATE_COMPLETE',