MDA: use a graph algorithm to minimize the adjoint problem size
Currently we put all coupling equations in the MDA, including some weak couplings that are not acutally impacting the functions when changing the inputs. This is an extension of the graph algorithm used for the chain rule.