Allow TimeSolver tolerances relative to first step

Specifying a negative tolerance now lets you avoid trying to directly
calculate or guess what a decent L2/H1/whatever error growth rate is,
by using a multiple of the growth rate observed at the initial time
step.

I haven't yet tested this, just thought I'd let folks take a look at the idea while I do.