Solver switching support & implementation of Nesterov's accelerated grad...

...ient and AdaGrad
Thanks for the comments! It's been addressed in a recent commit.