classic protocol could not handle shortcuts. Is necessary for bootstrap
applied suggestion from @ediosyncratic
as requested by @jimis removed the -1 from ShortcutsExpand(filename, sizeof(filename) - 1,
Use conn->hostname and added Changelog as requested/suggested by @jimis
Correct vzps usage

Conflicts:
	libpromises/cf3.extern.h
	libpromises/cf3globals.c
	libpromises/classes.c
	libpromises/processes_select.c
Augment acceptance tests with mix of empty/non-empty lists.

Also, move testcase that fails due to bug in format() into
correct directory.

Test cases for Redmine #6553
Iterate correctly over multiple lists.

If any list in an implict iteration is null or contains only null-values,
then the promise shall be skipped entirely.

The previous logic tried to account for (and to some degree, rely
on cf_null) in the list of variable values (var_states). The resulting
logic was overly complicated and didn't correctly abort iteration if
any of the lists was null.

Instead, store in the iterator if we encounter a list that has no
valid values, and implement NullIterators (a function declared
in iterate.h but never implemented) to return true if that was the case
so that we can skip the entire promise.

Remove dead code. This goes a long way towards a complete purging of
cf_null. We can't do so completely as we need to account for policies
that explicitly insert cf_null (many tests), and for functions. If we
were to remove it, then rval.item being NULL would become a valid case,
but a lot of evaluation code treats that as an error.

Fixes Redmine #6553
Refactoring: Remove cf_null handling from functions.

Instead of making sure in every list-returning function that we don't
return the null-pointer, centralize the appending of CF_NULL_VALUE
in FnCallEvaluate.

Remove unnecessary null-pointer checks. Allow sum() and product() to
successfully calculate 0 and 1 for null-lists, respectively.
Clarify the end-steps of WaitForIncoming().
Dumb down some simple code.
Refine debug log output in hopes of clues to why test fails on Aches.
Add some debug output to laterthan.cf

... so we have some clue as to what's failing.
Merge pull request #1946 from vohi/redmine/6553

Redmine/6553: Fix implicit looping over multiple lists
Correct test for openvz support
Merge pull request #1951 from ediosyncratic/better-debug-output

Better debug output
Merge pull request #1913 from basvandervlies/enable_shortcut_for_classic_protocol

classic protocol could not handle shortcuts. Is necessary for bootstrap
Merge pull request #1940 from ediosyncratic/return-fix

Clarify the end-steps of WaitForIncoming().
Merge pull request #1948 from peckpeck/openvz_support

Openvz support
Advance ap if socket(2) fails

In the case where socket(2) fails in SocketConnect, ap will advance,
causing an infinite loop.

https://dev.cfengine.com/issues/6560
Temporary fix: inline the suppress/soft list evaluation.

This works round problems with @vohi's attempts to make variable
expansion less broken; it does so by not exercising what broke in the
course of trying to fix everything else.  We should revert it as soon
as we have a proper fix for that.