Enforce credentials requirement on stack create/update.

Credentials need to be supplied whenever they are stored with the stack,
which is during stack create and update.

Some users have been relying on their auth token to perform all heat
operations (as all other openstack services support) however this has
led them to experience obscure errors when wait handles or alarms are
triggered.

Failing early with a clear error message will stop this class of errors.

Fixes bug: #1194303

Change-Id: I3edef3dee843bb06760be6294b798761eba30cb8
Check duplicate names between params and resources

make sure there are no duplicate logical names across parameter
and resource definitions

Fixes bug #1196491

Change-Id: I353b84dd8b9bfe77b214e93cc9f1a080ebe2248b
Define behaviour for properties with None values.

Now that Ref and Fn::GetAtt might return None values, behaviour for
properties with None values needs definition.

This change will treat a None value in the following way:
- if there is a default in the schema, that value will be used
- otherwise a default is used depending on the type ('', False, 0, [] {})

Fixes bug: #1192142

Change-Id: I59ae32c1c32b1bfede7d775aa845cd14246040e1
Merge "Enforce credentials requirement on stack create/update."
Merge "Check duplicate names between params and resources"
Merge "Define behaviour for properties with None values."