Added contribution of bound constraints in case we don't want to keep the bounds explicitely.
Rework SlackNLP class to be a real NLPModel, created a class MFSlackNLP, update solvers to reflect these changes.
Structured QN update.
For LBFGS, first naive implementation, could expand formulae a little
bit to avoid substraction errors.
Added ALGENCAN solver tp NLPy, can be called by its driver nlpy_algencan.py
Added snlp.py that deals with SlackNLP inherited from NLPModel.
Recall that slacks.py deals with SlackFramework which inherits from
AmplModel.
Merge branch 'slacknlp' into lancelot-dev

Conflicts:
	nlpy/model/amplpy.py
	nlpy/optimize/solvers/auglag2.py
Merge branch 'lancelot-dev' of https://github.com/syarra/nlpy into lancelot-dev
Undo sign of hessian of Lagrangian
Corrected a bug in SlackNLP
Some code cleanup.