Implements Multiclass hinge loss

Implements multiclass hinge loss. Fixes #3451 
I think it would be better to iterate across the class_labels. An alternative approach would be.

1. Use a Label Encoder for the class labels.
2. Iterate over the labels.
3. Find the indices of y corresponding to the labels, (and hence the corresponding decision scores).