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>
Test if cf_null is still needed...
More attempts to remove cf_null from the code.
Purge cf_null from functions.

Fix difference and intersection implementation and testcase for
the case where list A is empty and list B is not. The difference
is then list B, not the empty list.