Correct the early/late distinction logic in stime_range.cf

I'd correctly documented, in the comments, the comparisons needed; but
I'd got the tests the wrong way round in the policy language code.
Clarified a comment earlier, while I was fixing that.
Merge pull request #1957 from ediosyncratic/stime-test-fix

Correct the early/late distinction logic in stime_range.cf
Acceptance test for nested list expansion.

Covering various cases that have been problematic:

- nested lists where one list combination will be empty
- expansion of foreign lists
- passing of empty lists into methods as parameters

See Redmine #6553
Follow up to fixes for redmine/6553

With the previous fix, iteration skips the entire promise if
any of the lists to be iterated over is empty. This leads to
incorrect behavior in case of nested lists, where one of the
combinations of lists would be empty. Acceptance test addition
covers this case as well now.

The fix is now more intrusive. We don't include empty lists
any longer when parsing the string during expansion. Instead,
abort expansion, and skip this particular promise iteration.

The previous fixes remain in place.
Skip method evaluation if any parameter is cf_null

Fixes another Redmine #6553 case
Revert "Temporary fix: inline the suppress/soft list evaluation."

This reverts commit c96a9a1c0117018899d92958fefa89bbce685311. No
longer required after additional fixes made to list expansion.
Merge pull request #1958 from vohi/redmine/6553-fix

Follow up on regressions introduced by initial fix for redmine 6553
Redmine #6558: Fix LookupAccountName error message on Windows.

Don't report error for user name "root" on Windows, since it is not
expected to exist.
Merge pull request #1959 from kacfengine/redmine6558

Redmine #6558: Fix LookupAccountName error message on Windows.
Change: Fix laterthan test

The or() function returns a string, not a boolean.
https://docs.cfengine.com/latest/reference-functions-or.html
Merge pull request #1960 from nickanderson/fix_laterthan_test

Change: Fix laterthan test
Add xasprintf() to the suggested alternatives, it can replace the malloc()+sprintf() idiom.
Connection cache sanitisation

No change in functionality hopefully.
Make connection cache aware of port and flags.
Move forgotten files to proper directory.
Enable a bunch of cf-serverd acceptance tests to test multiple protocol versions and connect to multiple servers.
Reindent huge messy function in order while tracking down bug.
Report proper server host in "copying from" message

Previously it was always reporting the first entry from the "servers"
list in body copy_from, even when it was trying in the 2nd, 3rd etc
entries after having failed in the first.
Rename function to state that it marks conn as busy.
Bring back message lost in refactoring.