Implement OS::Heat::SoftwareDeployments

This is a resource which subclasses ResourceGroup to deploy a group
of OS::Heat::SoftwareDeployment resources

The main difference in properties between this resource and
OS::Heat::SoftwareDeployment is that it has a 'servers' property
instead of 'server'. The servers property expects a map of
resource-name/nova-uuid pairs. The resource name is used as the
deployment resource name inside the group, and the nova-uuid is used
as the server to deploy to.

The attributes deploy_stdouts, deploy_stderrs, deploy_status_codes
each return a map where the key is the server name and the value
is the respective attribute from the deployment resource.

Change-Id: Ide1e8fb57d45062e5d459b484135a5cad6d2c7dc
Partial-Blueprint: deployment-multiple-servers
Merge "Implement OS::Heat::SoftwareDeployments"