Improve QuadraticStepSize

* Use previous step size in case interpolation is not done
* Use floats.EqualWithinRel rather than own comparison
* Use interpolation only if there is a chance of interpolating the
  function well by a quadratic
* Remove MinStepSize, it is not necessary that users manipulate it
Do you have an idea for such a test? I feel that doing this would be trying to do linesearch's job. It is nice if we can find a step that takes us directly close to a minimum, but if not, then the line search has to deal with it. If the interpolation is not done, it is not a big deal, we will always return something not completely crazy. Of course, we could surely do something smarter here.