revert: fix(mocks): $timeout#flush should not update time when empty

This reverts commit 42af8eada2803a54a98b4f792e60feb480d68a0c.

This turned out to be a bad idea as it prevents us from moving the
time forward and asserting that the component state didn't change
due to the scheduled task executing too early.
revert: feat(mocks): make $timeout#flush throw an exception when empty

This reverts commit cbf06a5d64aba537f0e2679a194d3998d8365493.

This turned out to be a bad idea because it allow us to fast-forward
the wall clock time (see previous commit).
test(Scope): fix tests after reverting commits

Making assertions on state (rather than interactions) is better anyway.