Added a flag for updating quasi newton Hessian update on rejected steps.
(LSR1 needs to be updated more often than LBFGS).
Reset LBFGS framework to its original (i.e. removed all debugging lines)
Added option to update quasi newton approximate hessian on rejected
steps.
Added unrolling LSR1 formula for debugging.
Changed indices in LSR1 hessian product.
Cleaned all debugging prints.

Scaling option is not recommended yet. It needs to be checked.
Changed max_iter option to max_inner_iter to avoid confusion and remove
the option on the number of outter iteration.