added flexibility for Brent driver

- added ability to specify function to handle resizing bracket.  Often this is done by increasing the bounds (or one of the bounds) for some number of iterations.
- added ability to specify what to return if a bracket cannot be found.  For some problems (my current problem) the bracket cannot be changed, and it makes sense to return one of the bounds (the upper bound in my case)