If the formula was ran on a system that reported an os_family that
wasn't one of "Debian", "RedHat", "Arch", "Suse" then the map.jinja
template would fail to render with "'NoneType' is not iterable.
This occurs because grains.filter_by will return None when it fails
match the grain to the input dictionary. The value is then blindly
passed into a dict.update() which causes the failure.
In this patch we ensure that the default values, as defined in
defaults.yaml, are always applied when grain matching fails.
```bash
Examining firewalld/map.jinja of type state
[209] Jinja comment should have spaces before and after: {# comment #}
firewalld/map.jinja:4
{## Start with defaults from defaults.yaml ##}
[209] Jinja comment should have spaces before and after: {# comment #}
firewalld/map.jinja:7
{##
[201] Trailing whitespace
firewalld/map.jinja:16
}, grain='os_family', merge=salt['pillar.get']('firewalld:lookup'))
[209] Jinja comment should have spaces before and after: {# comment #}
firewalld/map.jinja:19
{## Merge the flavor_map to the default settings ##}
[209] Jinja comment should have spaces before and after: {# comment #}
firewalld/map.jinja:22
{## Merge in salt:lookup pillar ##}
```