CUTEst: a Constrained and Unconstrained Testing Environment with safe threads for mathematical optimization