Add a few missing pure and noreturn funcattrs
gdmaps reload thread should start detached
Followup const fix in vscf

(Should have been part of 3a08153b)
Switch context/stats pointers from TLS back to args

This undoes some of the work in ff2deb5c (although it retains the
context/stats split), and essentially all of the work in f4b12fc3.
I don't know what I was thinking during that TLS frenzy, but it's
not a net win to switch to TLS in a scenario like this, even it
does make the code prettier.
Various code layout optimizations

1) A few real functions out in libgdnsd were being called in
potentially-hot areas in dnspacket.c, so those have been made into
statics in headers (or in one case, moved directly into dnspacket
as it was the only user) to avoid bouncing out to the shared lib.
2) Removed the "inline" keyword everywhere, because the compiler
knows better than I do.  It's just a bad habit.  Relatedly, marked
static funcs in headers with the unused attribute so the compiler
doesn't complain.
3) Marked the key functions in the UDP request-processing hot path
(dnsio_udp loop, process_dns_query, ztree_find_zone_for) with the
"hot" attribute to group them up a bit.
Build flags improvements (warnings + hardening mostly)

0) Added some new m4 code from autoconf-archive to filter
   compiler/linker flags by checking for build-time support.  All
   non-default flags we add now pass through these filters, so
   they're not set if the local toolchain doesn't recognize them.

1) Default compiler warnings expanded considerably

2) Default basic flags now include -fno-common and -Wl,--as-needed

3) Default now adds various security-hardening flags, which can be
   disabled via --without-hardening:

   CPPFLAGS: -D_FORTIFY_SOURCE=2 (if -On detected in CFLAGS)
   CFLAGS: -fPIE -fstack-protector-all -ftrapv
   LDFLAGS: -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack

   Re: SP-flags choice: I did some light perf testing, and on this
   codebase -fs-p-all performs almost identically to -fs-p because
   even without -all virtually all the hot functions end up
   getting protected.  May as well go all out at that point.

   With the full set of flags above, in my limited, artificial
   perf tests on a virtual F20 box, the hit is around ~8% query
   rate performance, which doesn't seem like a bad default
   tradeoff for lots of protection against potential future
   exploits in the default compile.

   For some (hopefully many?) distro packages there will be very
   little change because they're already enforcing most of these
   flags in their build policies.

(also has an incidental fixup for libgdnsd -I flag in Makefile.am)
Improved header-level compiler feature detection stuff
Various fixups for qa stuff