Fix timestep control

This fixes a bug in which very small timesteps were forced to be larger.  Now we check the step size relative to the overall simulation time.