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.
Better AdaptiveTimeSolver documentation
Merge pull request #184 from libMesh/time_solver_tolerance

Allow TimeSolver tolerances relative to first step