Implements Multiclass hinge loss

Implements multiclass hinge loss. Fixes #3451 
The label encoding needs to account for labels not included in `y_true`, if provided in `label_vector` (which should be called `labels`)