adapt to removal of FirstOrderFunctional, use LineSearchSolver, remove contact obstacle dofs from direction