Add acceptance test for list extending itself
libpromises/evalfunction.c: let mergedata() use VarRefValueToJson
Redmine #5233: Fix uptime calculation on Solaris.

Also make it a little less verbose when detecting errors, since it
will retry using "uptime" command if the kstat probing is
unsuccessful.
Minor logging message fixes
00_basics/03_bodies/evaluation-should-respect-ifvarclass.cf: more ifvarclass cases
Evaluate ifvarclass and depends_on before other constraints

This short-circuits evaluation of other constraints in the promise iteration
if ifvarclass or depends_on excludes the promise. The benefit is primarily
that system functions with side-effects are not evaluated if the promise
should be excluded anyway.

Modify acceptance test from Ted to also test depends_on.

Close #5248
Adding some more meaningful logging messages for TLS handshake.

This should help debugging different issues with TLS errors visible in logs.
Add dcs_if_diff* bundles to be able to set classes based on result.

Also enable debug output when test is failing.
Gives the ability to force key removal from lastseen
Merge pull request #1596 from jeffali/key/forceremoval2

Gives the ability to force key removal from lastseen
Merge pull request #1594 from pasinskim/tls_logging_fix

Adding some more meaningful logging messages for TLS handshake.
Merge pull request #1399 from nickanderson/bug/4335

Add acceptance test for list extending itself
Merge pull request #1597 from kacfengine/dcs_improvements

Add dcs_if_diff* bundles to be able to set classes based on result.
tests/acceptance/dcs.cf.sub: include plucked.cf.sub in all cases
If PolicyError is about a Constraint, include the rval in the error message.
Mark storage test as broken on Solaris 10/sparc64

'test_volume' didn't anticipate the filesystem on Ultrasparc — see
https://cfengine.com/dev/issues/5234
Fix special permissions on Solaris 10/sparc64 and FreeBSD

	1. Not all special bits are supported everywhere. For example,
	trying to set (1|3|5|7)010 will error out on FreeBSD:
	"Inappropriate file type or format". On Solaris it will not, but
	the bit is not set (i.e. 1010 will result in modeoct 100010, and
	thus fail, whereas 4010 will result in modeoct 104010, and thus
	pass). I picked the values so that they work everywhere.

	2. Also fix a BSD conditional nit for getusers() test.
Solaris 9 work + reenabling strftime conversions.

	1. Differentiate suppression meta for Solaris 9/10

	2. After the fix #1598 is merged, %F and %s will be usable via
	the strftime() builtin. Reenable strftime.cf for Solaris 9 and
	HPUX
Suppress some tests on FreeBSD

See:

	1. https://cfengine.com/dev/issues/5261 (link obstructions)
	2. https://cfengine.com/dev/issues/5224 (intermittent failures
	shared with Solaris, plus zombies)
testall: s/%F/%Y-%m-%d/

This will make HP-UX and Solaris X<10 happy, as the equivalent shorthand
conversion doesn't exist there.