added optional initial bfgs inverse hessian

This is my first attempt at a pull-request - a really simple additional option for the BFGS method to accept an initial inverse hessian.  I need this feature for a problem in which the standard identity matrix generates errors in the line search routine. 
Let's get rid of it if not intended. You can do another `git commit`, then do a `git push` to update your fork. The pull request will automatically track the status of your fork.