Multiple threads per addr w/ SO_REUSEPORT + separate socks

Note that we're still doing a 1:1 mapping of threads:sockets, but
  now we have a configurable 1:M mapping of addresses:threads.

The only known important case where SO_REUSEPORT doesn't exist/work
  and people would really care is Linux kernels older than 3.9.
  In that case doing multiple threads-per-address some other way
  (shared sockets, or just supporting UDP w/ separate socks and
  REUSEADDR) doesn't actually scale well, so the configurable
  threads-per-address settings are forced down to 1 in the absence
  of a working SO_REUSEPORT for simplicity of implementation.

New global options:
  disable_reuseport: acts as if SO_REUSEPORT compile-/run- time
    detection failed, forcing thread counts to 1.
  udp_threads, tcp_threads -> default to 1 thread per listen-addr
Deprecated global options:
  disable_tcp: deprecated in favor of "tcp_threads = 0"
  tcp_clients_per_socket: renamed (w/ deprecated support of old
    name) to tcp_clients_per_thread.
All of the same changes occured at the per-address options level
  as well.

Would be good to benchmark this in various combinations of
  thread:cpu ratios and udp_recv_width settings on a 3.9+ Linux host.
  If the benefits look good even at the low end, might consider
  defaulting UDP higher than 1 based on system CPU count as well.
Bugfix: Check explicitly for resource hash-value

During the parsing of the "resources" stanza for the geoip
and meta plugins, it was implicitly assumed by the code that the
right-hand-side of each resource was a hash structure.  This
lead to an assertfail (or segfault in prod) due to related config
syntax errors.

Fixes #60
Remove disable_reuseport config option

This was leftover from an earlier iteration of the SO_REUSEPORT
  code, but in the current implementation it's pointless, as
  SO_REUSEPORT is used iff it was runtime-detected *and* the user
  has configured more than one thread-per-address.
In the case that some platform has SO_REUSEPORT bugs/behaviors that
  gdnsd didn't anticipate, one can always leave threads at the
  default value of 1 to avoid using it, with the same effect as
  this option.
Log thread counts, fail in various no-listener cases

(also, warns on listeners defined to 0+0 threads)
automake 1.14+ compat updates
Merge branch 'reuseport'
zones_strict_data (-S) and zones_strict_startup (-s)

New option 'zones_strict_data' is similar in nature to the old
  'strict_data' option, in that it upgrades mere warnings about zone
  data anomalies into full errors.  Defaults false (previous behavior).

The option 'zones_rfc1035_strict_startup' was deprecated and renamed
  to 'zones_strict_startup', as the same basic principle should apply
  to other sources.  No functional change, since rfc1035 is still
  the only viable zone data source.  Still defaults true.

Two commandline options added (-s and -S) to force these settings to
  true while ignoring any default or setting from the config file.
  This is mostly useful for checkconfig, but could have other uses.
Deprecate late_bind_secs, add nonlocal bind fallback behavior.

late_bind_secs is a horrible feature and I'd like to remove the
  complexity in a future version.  It worked around a system config
  issue for me once in the distant past, but I probably would've
  rejected the feature and said "fix your system" had it come from
  someone else.  I doubt anyone else is using it at all.  Hopefully
  they'll speak up if there's any real need.

Added IP_FREEBIND (or BSD equiv) support as an
  automatic fallback attempt on any bind() failure (when the address
  didn't come from interface-scanning, and wasn't the ANY address),
  which should address any such issues without the need for
  late_bind_secs *or* system config fixes anyways.

Also, merged up some redundant bind()-related code to a common file.
New 'listen' options 'any' and 'scan' + future default-any warning

'scan' is just an explicit option for the current default interface
  scanning mode when no listen option is present.
'any' uses the v4 (+v6 if applicable) ANY address(es), which should
  now work correctly on all reasonably up-to-date systems we care
  about (older versions of MacOS were the main holdup due to lacking
  a way to copy the request dest addr to the outgoing source in the
  case of multiple routable addrs, but seems fixed in new releases).
Added a warning when implicitly defaulting to 'scan' that the default
  will change to 'any' in a future version.  Warning is silenced by
  being explicit.
Realistically, I expect most production users will explicitly configure
  1-2 listen addresses (v4+v6) anyways, this is all about sane
  defaults that don't spawn too many threads.
Remove additional-section processing of PTR records

The standards are pretty clear on this, but I somehow
missed it in the past.  It's not a practical consideration
in any real scenario, since useful PTR records invariably
have the right-hand-side canonical name in a different zone
than the one the PTR record existed in.  The support for
in-zone additional lookups was just there "for completeness",
but it turns out to not be necessary at all.

I think anyone affected by this change is using PTR records for
something crazy that they're *really* not intended to do, and
even in that case it's not going to break anything, just cause
an additional round-trip for the data.

The old warning that happened during the additional-section
processing of PTRs was useful for catching reverse-zonefile typos,
though, and it has been retained in spirit, it's just implemented
differently.
Diagnostic output fixups

1) Include full name in all zwarn/zfatal output
2) On TTL conflict, indicate which was chosen
Fix up $ADDR_LIMIT mismatch warnings to report/behave like TTL
make testsuite fail faster, at least for debug builds
fix pluginapi doc errors
deprecate mixed cname resources in plugin_weighted
remove a couple unused static vars
Bugfix: metafo should not zero out geoip's edns scope

If anyone was using geoip as a subplugin to a metafo
  resource, metafo would unconditionally reset the
  edns scope mask set by geoip back to zero.
Document edns-client-subnet precedence over cache IP

(and fix an inconsistent header thing elsewhere in the doc)
update NEWS with v1.10.1..HEAD changes to date
version bump stuff for 1.11.0