add keyword to lbfgs to use only the armijo condition

this is the first wolf condition and is a condition on the energy.

This actually seems to work quite well
fix bug in LBFGS

this was introduced several commits ago when I did the structural
changes to LBFGS
fix bug in MYLBFGS

the bug was in get_state(), I forgot to add have_Xold to the definition
of the namedtuple

also fix bug in fortran version of LBFGS. I was using mod() incorrectly
minor changes to lbfgs
replace flatten() with reshape(-1) in LBFGS

flatten coppies the array while reshape returns a view.

also replace np.linalg.norm with np.dot.  np.dot is faster