ENH: Faster stopping criteria based on glmnet for coordinate descent

The current cd algorithm breaks when the dual gap if the biggest coordinate
update is less than tolerance. Glmnet however checks if the max change in
the objective is less than tol and then breaks. This surprisingly leads to
huge changes in speedup with almost no noticeable regression in prediction