Using default FnGetRefId behavior for LaunchConfig

FnGetRefId of LaunchConfig returns only physical_resource_name, but in
the case where a resource is not created, resource.id equals None. So the
result of FnGetRefId will be None too. It gives unpredictable behavior
during preview, when other resources return None too.

Change-Id: I425f777dbd0600e35354b0d5308cdaf701d85119
Closes-Bug: #1324493
Return metadata from resource_signal RPC interface

To enable us to completely remove the metadata_update call without
breaking the current CFN waitcondition API, we need to return the
resource metadata, like metadata_update does (currently we don't
return anything when handling a signal).  This should not be
expensive as the metadata has just been updated, thus should be
cached inside the resource object.

Change-Id: I29bf6f9f5fab133b06ab8ecc92d7556a9bb6e35a
Add owner_id to new _create_stack RPC interface

Adds a new "internal" _create_stack RPC call, which exposes a superset
of the existing RPC interfaces, intended only for engine-to-engine
usage, not for exposure via the user-facing API's (hence the prefix)

This patch exposes "owner_id" via the new call, which enables creation
of nested stacks via an RPC call, instead of creating the stack directly.

Change-Id: I355c608e657cb9dae2d2b38658b0b247040de6b9
blueprint: decouple-nested
Merge "Using default FnGetRefId behavior for LaunchConfig"
Merge "Return metadata from resource_signal RPC interface"
Merge "Add owner_id to new _create_stack RPC interface"