Changed initial step scaling to match LBFGS
Merge pull request #15 from gonum/bfgsinit

Changed initial step scaling to match LBFGS
Add sanity checks to Bisection and Backtracking
Improve QuadraticStepSize

* Use prevous 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