Allow listing of resources and nested resources

This allows the engine to optionally include resources from nested
stacks in a resource-list up to `depth` levels below.  This number is
limited by `max_nested_stack_depth`.

Implements: blueprint explode-nested-resources
Change-Id: I43a5af25e74c7bfb32260f1616d36b311e0f2631
Stop coercing provider res. attributes to strings

Attributes of a resource defined in another template were
automatically converted to a string. If a provider resource returned
{"ip": ..., "name": ...} as an attribute value, it was converted to
"{'ip': ..., 'name': ...}".

This fix makes the behaviour consistent with the way stack outputs and
native resource work (i.e. can return strings, lists and maps).

Closes-Bug: #1297938
Change-Id: I7f27910e0ec877738998ff80c44e12d3bd4bfa7b
Fix schema-to-template for empty schema

if schema is {}, the
schema_to_parameters_and_properties(schema)
function shouldn't get an error, and return
{}, {} for parameters and properties

Closes-Bug: #1341985

Change-Id: Ic206ba64811bf43080a9deebb7c3b4c19134c43d
Fix updating for OS::Neutron::Port resource

Updating of port resource should not lead to removing ip address.
This patch includes next changes:
- Fix update behavior for Port resource.
- Using properties names instead of constant names.
- New test was added for port create/update actions.

Change-Id: Iff73aaaa433ac56515a931f83ad201d15fca2bd8
Closes-Bug: #1343166
Fix updating from an empty stack

Change-Id: Ic63e1998316b27a431e856fe43b9ad8cc9dd887a
Closes-bug: #1343171
Use six.add_metaclass instead of __metaclass__

According to http://docs.openstack.org/developer/hacking/ it should
be preferred to use six.add_metaclass instead of __metaclass__.

Change-Id: I1775035ea998b78a52c28ffe71dda2ede1377b31
clients make heat_url public

Make the heat_url helper function public, so it can be used inside resources
which require a heat endpoint URL, e.g to pass to an instance for signalling.

blueprint: native-waitcondition
Change-Id: If351066e9ad68d2e19dee955d5e9de87f527e17d
stack user add _user_token

Change-Id: I729a6e591e30a93378596eb35722120b4bb364fc
Don't resolve attributes before create

Change-Id: Idf0120b8c7fb46300462720136002bc7d7d68d31
Closes-Bug: #1332317
Merge "Allow listing of resources and nested resources"
Merge "clients make heat_url public"
Merge "stack user add _user_token"
Merge "Fix schema-to-template for empty schema"
Merge "Fix updating from an empty stack"
Merge "Use six.add_metaclass instead of __metaclass__"
Merge "Don't resolve attributes before create"
Merge "Fix updating for OS::Neutron::Port resource"
Merge "Stop coercing provider res. attributes to strings"