Don't set USEDIRECT implicitly when the date looks suspicious
Rewrite faketime shell script in C
Use the same global clock for all processes spawned by faketime -f '... iN'

In case the clock is set to advance with each faked time(), etc. call, the
counter uses the same clock counter stored in shared memory and protected
by a semaphore.