Implement described behavior.

1. moving the `runAtStart` logic to `Timed`
2. if we are determining when next to start a build, if a) `runAtStart` is
   False, or b) we are not scheduling the first build and the expected time for
   the build is now or earlier, instead schedule the build as if the last build
   was now.
3. possibly determine when to start the next build at the same time as, or in
   parallel to creating the buildset.