allow null templates. fixes #30

the value for template can now be set to null. This removes the need for empty template files or setting template.source to an empty string

updated tests to verify this works in the future