Gsl optimizer solver types

Adds all the available GSL multidimensional optimization solver types. I know that perhaps the *2 algorithms may be redundant, but GSL kept them older ones around, so I feel like we should as well (at least, in the absence of going in and looking at all the details).

Untested so far. Need to create unit tests to hit all these things.

@dmcdougall please make sure I didn't muck up the rebase.
I can if you want - the `//Wat?!` comment was supposed to indicate that it's not supposed to be possible to get there. I can have it print a message to that effect if you like.