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. 
I'm not sure - I think this is a result of me branching from code that is ~ 1 month old that has subsequently been deleted?  Honestly, I'm still a git/github beginner so its possible that I made some mistake somewhere else.