Correct vzps usage

Conflicts:
	libpromises/cf3.extern.h
	libpromises/cf3globals.c
	libpromises/classes.c
	libpromises/processes_select.c
Correct test for openvz support
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.
Merge pull request #1952 from worr/bug/socketconnect-loop

Advance ap if socket(2) fails
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.