ENH: add lbfgs for fitting

I tried to add `lbfgs` as a fitting method, in anticipation of eventually using the L-BFGS-B simultaneous f(x) and f'(x) evaluation interface, but the changes in this commit do not pass the unit tests.