Remove F_PURE from rfc1035 out-of-zone check

The "pure" attribute here is a bug; this function returns
void and its only effect is a conditional longjmp() hidden
in a macro, which is not a pure-compatible side-effect.

Depending on the exact compiler and options used, sometimes
this would cause a bug and sometimes it would not.

The buggy behavior sometimes-created is that in some cases
where the zonefile parser should be throwing an error about
invalid out-of-zone data, it simply does not do so and adds
an unintended name within the zone in question.

For example, if the zonefile for "example.com" contains the
following record...

foo.example.net. TXT "This should not be here"

... the correct/intended behavior is to throw a zonefile
parse error, but the buggy behavior is the creation of the
text record at the domainname "foo.example.net.example.com."
without any warning or error, as if the terminal dot were
missing.

Note that this bug does not affect out-of-zone address
records for subzone delegation glue, which are the only
out-of-zone data gdnsd accepts as valid.  It only affects
truly invalid cases of arbitrary out-of-zone data.

The bug was introducted between versions 1.6.9 and 1.8.0,
so it's been present for a long time now...

(cherry picked from commit 869d503e060d2b9dadd6c4ebf3dd394153045bc0)