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 "Define behaviour for properties with None values."