Restructure moses main, so that each 'problem' can live in its own file.

Restructure moses main, so that each 'problem' can live in its own file.

This is a major restructuring of the moses main process, separating the paramater parsing from the problems, and separating the demo problems into their own file.  More work remains - the rest of the problems should be wrapped by class problem_base as well.