cf-serverd: free getaddrinfo() result, on error of OpenReceiverChannel()

getaddrinfo() may allocate the 'result' struct even in cases where it
will return an error. Take care to free memory, although we would exit
the server process anyway.
cf-serverd: getaddrinfo() will use a numeric port, no lookup

This `AI_NUMERICSERV` flag avoids looking up the "services" table for
a string port resolution, according to the manual.
cf-serverd: getaddrinfo() will NOT set "errno" upon failure

It has its own `gai_strerror()` function to resolve its (reentrant)
result code.
cf-serverd: fix typo for addrinfo constant

As spotted by Dimitrios Apostolou
Add systemd service files
Leak-fix in FnCallRegExtract().

One of its premature returns neglected to free the arrayname.
Redmine#4203: test env parsing for package method
remove export_zenoss constraint
Removing buggy undocumented feature ...

... according to discussion at
https://github.com/jimis/core/commit/d4999f291bf937ef36ee05c28149ca773b172865
Fix selectservers().

See Redmine #5458. Thanks to Bob Ingersoll for spotting it.
Add acceptance test for selectservers().
TryConnect() should return error when select() times out.
Logging in milliseconds is ugly.
Fix socket descriptor leak.
Acceptance test for selectservers() now checks failures as well as successes.

Unfortunately some requests may timeout, which means that the test will
take 30s to complete. In the future we should enable parallel test
harness to avoid waiting.
Selectservers() now logs INFO in case of timeout.
Beautify message.
Redmine #5452: add acceptance test for maparray()
tests/acceptance/README: Add git bisect notes from @cdituri in #1317
Valgrind friendly openssl, if getenv("CFENGINE_TEST_PURIFY_OPENSSL")

Even if you compile your openssl with -DPURIFY and no-asm, valgrind
still outputs a very long list of uninitialised variable warnings. It
turns out that the "blinding" feature of openssl is the culprit.