A sparse semismooth Newton based augmented Lagrangian method for large-scale support vector machines