laterthan fix and acceptance tests

Current state makes it useless.

Redmine: https://dev.cfengine.com/issues/6530

Please backport to 3.6.x for inclusion in 3.6.2.
I still think we should **allow** uses with out-of-range values for parameters; the fact that *most* uses shall be in range, and most users would find out-of-range values weird, isn't a reason to **forbid** out-of-range values, which breaks backwards compatibility for anyone that was using it.

Bear in mind that some of the parameters may be expressions; it's hard enough doing arithmetic in our language, to get `laterthan($(year),sum("months"),sum("days"),12,0,0)` using suitable lists `@months` and `@days`, without having to deal with the whole monstrous complexity of reducing that to canonical form - which I challenge you to write in policy language before you consider *forbidding* denormal dates !  They've been allowed up to now, after all; and the work-around for forbidding them - what I just challenged you to write - is, IMO, impossible.  Even if you can meet my challenge, pause to consider whether you should really be expecting users to go to that much pain, when supporting denormal dates and times is trivial (we already do it).