Update changelog for issue #6551.
Merge pull request #2004 from kacfengine/3.6.x

Update changelog for issue #6551.
Fix tabs -> spaces.
Fix infinite loop when skipping unsafe timed tests.

We need to make sure the timeout is updated also when the test is
skipped, otherwise it will reattempt the timed test over and over.

(cherry picked from commit 009f4cb33e6cc56f9861e6314b620c2fa453db0b)
Increase timeout in acceptance test for our slow Solaris machine.
(cherry picked from commit ab3383ac93bd4094379834fce78814dacfc8a279)
Update test results for Solaris 10.
(cherry picked from commit dae8715241d453137517916f8492d490c619d62a)
Remove incorrect comment.
(cherry picked from commit ebb8b789188ab6bab2edc30579d97504ed04bac9)
Update with latest test result status for Solaris 10.
(cherry picked from commit 8b35070793ff7abc96d766a6f06ae44fce633b88)
Update acceptance test status for Solaris platforms.
(cherry picked from commit 6d2aec9d053d201c9f380311facce0c9c090eefd)
Merge pull request #2006 from kacfengine/3.6.x_test_status

3.6.x test fixes for Solaris
Make sure we get correct number (3) from wc by specifying line count.
(cherry picked from commit f89ba4e12964b4cbe0f833d1131ea27a4da7fefc)
Add "ls" to tools list, used in 10_files/03_transform/003.cf.
(cherry picked from commit bf26abdb1bdf33d20974eb25168f0d138435afcb)
Fix sporadic failure of 10_files/03_transform/003.cf.

Don't use the same directory to hold the counter as the one who holds
the transformed files. Otherwise it may or may not be included
in the result, depending on file system order, since we use depth
search.
(cherry picked from commit 5909c367861910f80381a0d5d9f918bb04a1abb1)
Switch to egrep. "grep -E" is not portable to Solaris grep.
(cherry picked from commit b3595d75f070264f3a67e61b145dfe2360a064ff)
Soft fail test in Solaris 11 chroot env, where it cannot pass.
(cherry picked from commit 6922ecb4fd10d25fd76178abf92799b04c8409e8)
Misc buffer fixes and documentation improvements from PR 1361.

(cherry picked from commit b4f4e539451eb7025bb19ca9a7057166da735687)
Correct vzps usage

Conflicts:
	libpromises/cf3.extern.h
	libpromises/cf3globals.c
	libpromises/classes.c
	libpromises/processes_select.c

(cherry picked from commit 2bfcc5db3d7346ed864c32e4d7c9dc4ea97e9e56)
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

(cherry picked from commit 56a93b0ee9d3c79b09e317544dbbde3cebebb3fd)
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

(cherry picked from commit ba8454c190910aa153b9e7a042b7471be1a672d3)
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.

(cherry picked from commit e2f1963e8c02ce3c3fdcf511f32073cce40f7d71)