ResourceGroup add remove_policies property

To cater for the requirement of TripleO (and others) to specify a
victim for removal from a Resource group ("eliding" in merge.py speak)
add a new property, which enables specific indexes to be passed on
update, which will force removal of those specific resources.

In future it may be that we add additional ways to specify the removal
policy, so this interface is a list of policies, with each policy being
a map taking an optional list of arguments.

'resource_list' policy added now, which takes one of the following:

1. Resource name (as specified in the nested stack, obtainable e.g via
heat resource-list --nested-depth $n <parent stack>, or by doing
resource-list directly using the nested stack ID obtainable via
physical_resource_id of the ResourceGroup resource.

2. The nested resource refid - this is typically (but not always,
particularly for AWS resources) the resource physical_resource_id,
and is obtainable via either get_resource or the "refs" attribute
of the ResourceGroup.

Note that once removed, the resource name is never reused, so the
%index%, where used, will always increment on replacement.

Change-Id: Icbc76b54bae3eb39efdaa704b036b1bbb94db206
blueprint: resourcegroup-force-remove
Merge "ResourceGroup add remove_policies property"