Add a trainer that calls scipy.optimize.minimize -- this lets us use CG, BFGS, etc.!
Refactor main a bit to handle new Scipy trainer.