Refactor how timing code works.

Support scheduling functions, not just testharness test objects.
Always have a dummy t=0 object.

Fixes #224