Improve test case for ifvarclass with functions

As per feedback to ediosyncratic, make sure we test the positive
case as well, and use standard "ok" class to mark pass/fail.
Merge pull request #1928 from vohi/master

Improve test case for ifvarclass with functions
Fix acceptance tests on Solaris 9 SPARC.
Remove unexpanded lists when extending lists

Instead of overwriting the list value with cf_null, which is then
no longer stripped out during later processing, take unexpanded
entries out of the list.

Extend existing acceptance test.

Fixes redmine 6541
Add another situation to list expansion test.
Merge pull request #1930 from vohi/redmine/6541

Redmine 6541 - Remove unexpanded lists when extending lists
Add: Acceptance test for classes defined from delete body

When a promise repairs a file or directory the same promise should not
define an outcome of kept during the same agent activation.

Ref: https://dev.cfengine.com/issues/6509

Modified by: Kristian Amlie <kristian.amlie@cfengine.com>
Notice and act on changes to call-collect reporting interval.

When we CheckFileChanges() we may pick up a change of policy that
changes this reporting interval; be sure to act on any such change.
Carve up cf-serverd's StartServer() for readability.

The function had grown to over 200 lines; time for some housekeeping.
Broke out assorted chunks of it into local static functions, each
adequately self-contained, with names to make clear what's happening.
Make clean-up of lock-specific policy unconditional.

There's a policy used solely as framework for the promise whose lock
ensures we don't have two of cf-serverd running at the same time.
This is entirely disconnected from the policy potentially used by
threads, so there's no need to protect its destruction from happening
while there are threads running; it can be deleted as soon as its lock
is released.