Cost function tracking and storage of returned optimization object
I added lists to track objective function score/cost in each function call, or each time score improves (here also the respective function call count is saved).
Additionally, for optimizers which return more information than the one we return, the full optimizer results are stored as attribute.