Implements Multiclass hinge loss

Implements multiclass hinge loss. Fixes #3451 
You can also add another test, to check that the `hinge_loss` is independent of the labelling in `y_true`, for a random `pred_decision` and same `y_true` with different labels.