Added a generic implementation of Augmented Lagrangian. Compiles, but it's untested.