Implements Multiclass hinge loss

Implements multiclass hinge loss. Fixes #3451 
+1. labels should not be optional and we should assume y contains all labels if it is optional.