Fix cf-serverd not reloading policies when they have changed.

The root of the problem was that the code to check for updated
promises was shared between cf-agent/cf-promises and the daemons, but
they have different semantics. cf-agent/cf-promises need to check
whether any files have changed so they can update
cf_promises_validated. To do this, a check that compares
cf_promises_validated to each file in inputs is needed, which is what
the existing code is doing.

The daemons however, need to compare the modification time of
cf_promises_validated against the time that they last reloaded the
policies, which is a value that should be kept in memory.

This was fixed by running a simple stat in the daemons and comparing
that to the time of the last seen cf_promises_validated. Also made
sure that cf-agent is the only one updating the cf_promises_validated
file. It's not the daemons' responsibility to do this.

Redmine #3809.
(forward-ported from commit 19c790c1f11eda9b84ced6bc09569e02b7958024
in 3.5.x.)

Conflicts:

	cf-execd/cf-execd.c
	cf-serverd/cf-serverd-functions.c
	cf-serverd/cf-serverd-functions.h
	libpromises/generic_agent.c
	libpromises/generic_agent.h