Implement Fn::MemberListToMap

This is to allow the CloudWatch::Alarm to be implemented as
a resource template. The Dimensions need to be converted
from [{Name: bla, Value: foo}] into a normal dict.

So we define the Dimensions as a CommaDelimitedList in the template,
then in TemplateResource we see that the property is a list of dicts
and convert it into the aws style memberlist
 '.member.0.Name=bla,.member.0.Value=green'
then in the CW template we can do the following:

matching_metadata:
  "Fn::MemberListToMap": [Name, Value, {"Fn::   Split": [",",
{Ref: Dimensions}]}]

Note: this in not a single case usage as we can use this for the Tags
property that is in a lot of other resources.

Change-Id: I68910c51eaeb0857531028e87b89b9192db4c8ba
Try to reduce the number of tests with the same stack_id

Change-Id: I38a689ed65998adc9a3e6542d11d15283ae61044
Merge "Implement Fn::MemberListToMap"
Merge "Try to reduce the number of tests with the same stack_id"