Removed debuging stuff that shouldn't be there
Switched internal data structures of ProblemData
Switched memory of columns to a sparce format
Added special case to parallel_processing to support serial execution when --n_procs 0
Decoupled creating the initial feature vector from building the problem data
Altered parallel sections of code to no longer require an entire copy of the ProblemData object.
Taylored references in build_problem_data
Taylored references in build_problem_data to remove all permenant references to the group_to_object
and object_to_group data structures, so that they get garbage collected. This was a combination of
removing the parallel initialization function from the ProblemData class, separating a section of
the initialization to be run sequentially, and copying strings to avoid references.