added callback for do_bfgs_optimize at every iteration

#### Summary:

Adds a callback at every iteration of do_bfgs_optimize. The intention is to allow RStan and PyStan to interrupt the process using ctrl-c.


#### How to Verify:

The test in src/test/unit/common/do_bfgs_optimize_test.cpp shows how to call do_bfgs_optimize with the additional parameter.


#### Side Effects:

RStan and PyStan will need to call do_bfgs_optimize with an additional parameter.


#### Documentation:

Not user facing.

#### Reviewer Suggestions:

Bob, want to take a look? Is there a better way to do this?
Jiqiang, do you want to verify?