Various improvements to optimization suite

This set of commits
- Updates code for recent deprecations
- Describes `cgdescent` and friends in the README
- Adds `nnls`
- Improves handling of box constraints