Create solution object directly from external solver output

Since the pyglpk lp object is not writable for status, objective
function, and other solution output, an intermediate data structure
would be needed to hold the output before format_solution can work.
Using global variables may cause problems, but is in fact better
to load the results from the solution file directly into a Solution
object. This obseletes the format_solution, get_status, and
get_objective_value functions. solve_problem now returns a
Solution object and the status is read from it accordingly.