Improve handling of multiple objectives

Handle multiple objectives in ProblemBuilderToNLAdapter instead of solver implementations.