Support empty-string

This change allows an empty string to be a valid property value.  Before this fix empty string property values where being interpolated as the string 'undefined' which was being written to template files.

Also added a new nodeunit test to test this case.