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.