Add systemd service files
Leak-fix in FnCallRegExtract().

One of its premature returns neglected to free the arrayname.
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.
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.
Allow JsonParse to parse primitives at top level

Also, add JsonPrimitiveTypeToString
examples/container_iteration.cf: add useful example
tests/acceptance/bisect-acceptance.pl: automagic git bisect script.

- automagically git bisect against a supplied CFEngine acceptance test
- hunt down the commit that either introduced a regression or fixed a bug
- respects bzr's notion of yes|no -vs- git's notion of good|bad; less
  confusing when hunting down the change that _fixed_ a bug.
examples/getvalues.cf: show data container too
Spelling correction: Commerical -> Commercial
Fix package_list_update_ifelapsed having no effect on "apt-get update"

Redmine #3981, #5339.

It is documented as having the described effect, but does not.

The timestamp for the last update is now maintained by a timestamp
file, /var/cfengine/state/software_update_timestamp_<manager>, where
<manager> is the package executable that is being used for the current
promise.
Ideally it should be integrated with the database, but we want the low
risk solution right now, and we plan to replace this code anyway.
Use dcs_passif_expected() to check and report all classes are set.