adds default conditioning if no preconditioner exists

This PR guarantees group-level sorting whether or not a preconditioner is provided to the greedy solver. Previous behavior required that the greedy solver have a preconditioner to get group-level sorting (i.e., the `GreedyPreconditioner` "conditions" the graph by sorting the order in which request groups will be seen by the `GreedySolver`).