Removed is_dep_needed from Solver_core

Just don't pass in unnecessary ones.
Formatting
Moved result object to Solver
Moved some helpers out of the Solver_core functor