Rename 'vbuff' to the more appropriate 'randfile'.

(cherry picked from commit 05aa9c7b1600734716a3aeaf25e3ccd102c3557f)
Restore support for denormal times in laterthan() and add it in on().

If someone specifies a date-and-time while adding an offset to one of
the components (e.g. to specify a given number of days, or hours,
after some specified event whose date and time are known) we can
handle that, doing The Right Thing (as handled by mktime, normalising
the date-time sensibly), by simply not forbidding it.  Recent changes
to laterthan() removed support for this; on() has not previously
supported it; but it makes sense to support it for both, so I'm
allowing both to take values in a wide (but still limited) range.
Also, move on()'s argument description to alongside those for the
other time-related functions with the same arguments.

(cherry picked from commit 465bdb874592a2c1fecfbdeb877bf6d678cb5d7e)
For vailidating input files we must use GetInputDIr(), because we can override its setting via configure options,
see https://dev.cfengine.com/issues/6551

(cherry picked from commit 56f40f470a213d816e09b10ad58c64285c6e4b84)
Remove the uninitialised buffer PRNG seed.

Use instead some rand() filled buffer. It is a bug if even that is not
enough, so complain loudly with UnexpectedError() (but try to continue).

In any case these kinds of hacks shouldn't be used, so print a
LOG_LEVEL_INFO message if that is necessary (e.g. on chroots that don't
have /dev/urandom). Still can be avoided by using WORKDIR/randseed.

(cherry picked from commit b75c89d5d7eac6bb63d722423b256cecb81b6034)
Seed C PRNG with weak data, seed the OpenSSL PRNG...

...with bytes from rand() only if system's source of entropy is good.

(cherry picked from commit 560c0d67fe7602033390fd0484e91ea44d4838af)
comment

(cherry picked from commit 05ed7829f819e33830812c687eea01ad7844f692)
Eliminate FnArgsToTmBase1Month()'s duplicate code.

Just adjust the month and day-of-month returned by FnArgsToTm().
Copy, paste and tweak a bit is easy but that's not a reason to do it.
Added some clarifying comments to FnArgsToTm().

(cherry picked from commit 9f3ff97eb92f42382f2b9fe47ee26739c00c0611)
Make laterthan.cf 32-bit safe.

On systems with a 32-bit time_t, the max and min are 68 years and 19
days.  So don't test outside that range !

(cherry picked from commit b4e470f9e74737fbf31bb7968e0a5644b03bbd29)
Reindented laterthan.cf

(cherry picked from commit 8f262c124fa6eda21d04aaa8511a3a30f7786454)
Taken into account @ediosyncratic's review.

(cherry picked from commit 8f377acd0e4ad4eab7b880220dc9bd07f609c2a8)