tests: fix DateTime.isPast() under pinDateTime

When under a pinDateTime context, d.isPast() was comparing d with the
actual current date, not the fake date from the pinned context.

Also, make the methods class methods, so that they can be used as
external methods in Zelenium tests.
261 jobs for master
in 0 seconds, using 0 compute credits, and was queued for 0 seconds