testclock: Allow calling crank with a past entry

At the moment, we can only use crank if the pending entry is in the
future. This patch leaves the clock time to the same point if the
pending entry was in the past. This still execute a single entry. This
will be needed for the jitterbuffer, since as soon as we stop waking up
the jitterbuffer when the timer is reschedule later, we may endup with
such case in the unit tests.

Related to #608
22 jobs for test-clock-crank in 36 minutes and 35 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Preparation
passed #375295
gst indent

00:00:31

passed #375294
manifest

00:00:27

 
  Build
passed #375301
build cerbero android universal

00:10:08

passed #375302
build cerbero cross win32

00:06:54

passed #375303
build cerbero cross win64

00:07:31

passed #375300
build cerbero fedora x86_64

00:05:37

manual #375305
gst-ios-12.2 allowed to fail manual
build cerbero ios universal
passed #375304
gst-macos-10.14
build cerbero macos x86_64

00:06:30

passed #375296
build fedora x86_64

00:08:14

passed #375297
build nodebug fedora x86_64

00:04:52

passed #375298
build static fedora x86_64

00:14:29

passed #375299
build static nodebug fedora x86_64

00:11:40

 
  Test
passed #375306
check fedora

00:04:10

passed #375307
integration testsuites fedora

00:10:05

passed #375312
valgrind bad

00:13:19

passed #375309
valgrind base

00:14:49

passed #375308
valgrind core

00:15:12

passed #375313
valgrind ges

00:08:08

passed #375310
valgrind good

00:14:30

passed #375311
valgrind ugly

00:04:51

 
  Integrate
passed #375314
android universal examples

00:06:20

passed #375315
documentation

00:03:51