add some missing consts in ztree
Rename meta_core to .inc, saner
sanitize includes

All .c files in the repo should now have <config.h> before any
other non-comment lines.  No .h files should ever have <config.h>.

Header location sanity: The libgdnsd "prot" headers were moved
from libgdnsd/foo-prot.h to include/gdnsd-prot/foo.h.  The
libgdnsd "priv" headers were moved from libgdnsd/foo-priv.h to
just libgdnsd/foo.h.  The gdmaps.h header for consumers of
libgdmaps was moved to include/gdmaps.h.

The net of those moves is that we should only need -Iinclude in
the general case, rather than a bunch of -I's that reference
various source subdirectories from each other.  There is also no
longer any ambiguity about the (up to 3) distinct
public/protected/private headers of libgdnsd, as they all have
distinct include-path prefixes.

All blocks of includes re-ordered to follow this basic ordering:
  1) <config.h> (does not apply to .h files)
  2) headers this file is the implementation for (ditto)
  3) private headers from same directory with ""
  4) tree-private library headers
  5) standard system headers
  6) 3rd party library headers
(Within each set above, the order is from most-private to
least-private where that distinction makes sense.)

The combination of all of the above should given us more
standardized, saner behavior in general and make it easier to spot
problems with header includes in general.  Several such mistakes
were fixed within this commit as well to get the source compiling
again.

Note there are still undoubtedly under- and over- include issues
in many files.  Many were caught, but I don't know of any simple
general solution for programmatically finding them all.  Hopefully
sticking to this style/layout going forward will make them less
prevalent, though.
Automagic parallelism for the primary testsuite

On my 4 CPU Linode virtual host, this drops the main testsuite
time from ~40s to ~6s.  On an ancient iMac with only 2 CPUs (and
lacking inotify()), the total time for "make check" dropped from
~127s to ~22s.

Most of the reduction is from the new parallelism, but also
several timing delays within existing tests were reduced
(particularly in the non-inotify() case) via broader use of the
magic testsuite nodelay env var.

The auto-detected CPU count (which should work reliably on Linux,
MacOS, and *BSDs) is overrideable with the autoconf environment
variable TEST_CPUS.  Because so many parts of the main regression
suite rely on small sleeps and eventwaits, the detected CPU count
is doubled to set the test parallelism for it.  The libgdmaps unit
tests were previously using a fixed "-j4" as a temporary hack, and
that has been replaced with TEST_CPUS as well (but without a
multipler, as those tests are fairly efficient).

As noted in the new comments in configure.ac, it would be better
if TEST_CPUS and make's -jN could be unified somehow (with either
one being primary and the other derived from it), but I haven't
found a sane way to do so for now short of defining an outer build
script that sets them directly and wraps everything.

One downside is we now need 250+ port numbers to use for testing
instead of the previous 3, as port number conflicts were the main
thing holding up the ability to parallelize this.  That number
could be reduced substantially with some kind port-assignment IPC
mechanism (not unlike GNU make's jobserver mechanism), but that
sounds like a lot of work.  The simpler solution here was just to
fully serialize the test file numbers and use those as a port
multiplier so that all test ports are unique.

Included in this patch are also several related/necessary design
fixups to the bundled Net::DNS::Resolver so that we can reliably
spawn separate IPv4 and IPv6 resolvers with fixed source ports, so
that excessive ephemeral port consumption from the resolvers
doesn't cause unreasonable odds of a bind() failure for the ports
the tested daemons are using.  While I was in there I went ahead
and removed the remaining bits of no-IPv6 compatibility in the
resolver and in the main testsuite modules as well.

Previous fixup commits 2faf5215, 4971ae10, and 6ca274a8 were also
incidentally discovered in the process of developing this patch.