Interpret failing function calls in ifvarclass/if/unless as class not set.

ifvarclass is treated explicitly during the evaluation of a promise.
Function calls might fail due to unexpanded variables in arguments or
for other reasons, in which case the classes should be assumed not to
be set, ie ifvarclass should block the promise.

Include acceptance test.

Fixes Redmine 6327 for 3.6.x.
(cherry picked from commit a07d3b2362de3de1c5f8a43d29c3bcea87b96a3f)

Conflicts:

	libpromises/eval_context.c
	libpromises/promises.c
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.
(cherry picked from commit dcedd29b2aa3cda93264cc7497611526a263e8c7)
Merge pull request #1925 from vohi/redmine/6327-36x

Redmine 6327 - Interpret failing function calls in ifvarclass as class not set