Implements Multiclass hinge loss

Implements multiclass hinge loss. Fixes #3451 
Surely if `labels is None` you need to check that the number of labels in `y_true` is equal to `pred_decision.shape[1]` and output an error message (suggesting the user employ `labels`) otherwise.