Don't print objective value if no solution found.
Pass objective value to HandleSolution. Return proper solution status if interrupted.
Move TestSolutionHandler and SolveResult to a separate header. Test interruption of solution process.