Improve perprof to use optimal values

Given additional columns and flags, perprof can treat the extra values as the objective function value, and the primal and dual infeasibilities, at the solution. These values can be treated as extra conditions for convergence.