Hostname access_rules check now uses SearchLongestPrefix()

This way, host "www.cfengine.com" will match to the rule ".cfengine.com"
but not to the rule "cfengine.com".

Also it won't happen by accident that "www.cfengine.com" matches to
".com" rule if present together with ".cfengine.com".

Also reshuffled the logic a bit.
Fix reverse lookup in TLS connections.

Because there is no CAUTH command in the new TLS connections, we have to
reverse-lookup the connecting IP address, so that we can check the
admit/deny access_rules later. With this patch we do that *only if*
there are any admit/deny hostname rules. Thus the ugly global
NEED_REVERSE_LOOKUP.

To perform the reverse-lookup within each spawned thread and minimise
latency, we are passing the struct sockaddr that accept() returned to
the spawned thread by (ab)using the ConnectionInfo struct. In the future
I expect the ConnectionInfo and the ServerConnectionState structs to be
unified, ideally with all sub-pointers and sub-allocations merged.
Acceptance tests for admit/deny access_rules using hostnames with new protocol.

Actually they contain subtests for both protocol versions, but the old
protocol is commented out because of our buggy connection cache we can't
have different protocol connections open to the same host.
Merge pull request #1633 from jimis/reverse_dns_access_rules

Reverse dns access rules
Don't use /tmp on Windows, instead use value of TEMP env variable.

Also give an error if no appropriate environment variables are set.
Add InitializeWindows() call to avoid crash popups on Windows.

Popups block the test execution.
Rename mock-package-manager to use '_' for easier tool handling.

Main reason is that '-' is not allowed in variable names.

Redmine #5266.
Several Windows fixes regarding shell rules and path separators.
Typo.
Use size_t where we should.
Skip some test cases on Windows.

Those that test package listing functionality directly are marked as
unsupported, since Windows doesn't use the package body for that.
Those that merely depend on it for testing something else are marked
as needs_work.
Some buildslaves reverse-resolve 127.0.0.1 to localhost.localdomain, others to just localhost.
We're now entering the Release Candidate phase...
Merge pull request #1635 from jimis/reverse_dns_access_rules

Reverse dns access rules
Fix make dist.
Merge pull request #1636 from jimis/reverse_dns_access_rules

Fix make dist.
Redmine#5417: update ChangeLog about "suse" class
Tests need libtest, yes.
Merge pull request #1637 from jimis/reverse_dns_access_rules

Tests need libtest, yes.
update ChangeLog about libpromises/failsafe.cf