Eventually a solver-independent interface for NLP. I think it's okay to support IPOPT only for a while, like we supported Gurobi only until QP support got into MathProgBase.