Initial commit of functions from github.com/btracey/optimize

Reviewing the code I got used to "opt".
Anyway, I think I prefer opt.Minimize() over optimize.Minimize() ... too many imize
On the other hand, if we have global optimization, then to me optimize.Global() reads better than opt.Global().
And this is getting a bit off-topic, but in that case I do not like the inconsistency between Minimize() for local minimization and Global() for global minimization. One option would be to rename Minimize() to Local() and use it as optimize.Local() but ... mmm ...