Added enum for GSL optimizer solver types.

Also added setter and defaulted to BFGS2.
Added setter
Factoring out minimize code to separate function

In preparation for adding gradient free part.
Add capability for user to set step size

This is for gradient-free GSL optimizer algorithms
First draft of OptimizerMonitor

Untested at this point.
Start building OptimizerMonitor

Still untested at this point
First pass at pretty printing.
Add Monitor to GslOptimizer

Only pass the pointer so we can default to NULL in the user-exposed
API so that the user is not required to deal with a monitor. For
the gradient-based algorithms, we use the gradient norm. For the
gradient-free algorithms, we use the "size" parameter as the norm.
Add monitor to GSL optimizer test.
Moving monitor print stuff to functions
Move to ostream's for monitor output
Don't need those spaces
Adding monitor output for minimizer convergence

Enabled by optional parameter set by user
Print x_min in monitor in optimizer test
Mucking with spacing for output.
Method to reset monitor so we can reuse it.
Think that was supposed to be lnValue
Make test a little more interesting
Running steepest decent and nelder mead
Factor out the print_xmin from the print methods