extract class ProjectUpdater from Program
Move some behaviour to Project and Solution. Improve help text. Add option to specify soln cache dir