Optimization: update tests to use new BfgsMinimizer constructor
Optimization: Add tests involving larger numbers output from the objective

(updated by cdrnet)
Optimization: Add tests for cases involving a constant zero region

(updated by cdrnet)
Optimization: Handle some edge cases in BisectionRootFinder

(updated by cdrnet)
Optimization: Handle case where optimum is found on last iteration in BFGS

(updated by cdrnet)
Optimization: Fix bug in ObjectiveChecker and ObjectiveChecker1D

* Bug caused the checks to be run every time a value/gradient/hessian was
requested, not just the first time a request was made.

(updated by cdrnet)