Implements Multiclass hinge loss

Implements multiclass hinge loss. Fixes #3451 
I agree. I think the code will work even if labels==None. At least the tests are passing.