Refactor how timing code works.

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

Fixes #224
Merge pull request #233 from mithro/fixing-t0-problem

Refactor how timing code works.