[MRG+1] Implements Multiclass hinge loss

Implements multiclass hinge loss. Fixes #3451 
The only test that currently runs on the basis of being a member in `METRICS_WITH_LABELS` is inappropriate for a metric which has a decision function as the second argument (rather than predicted labels), and I don't understand why it is working in the binary case; again the multiclass case isn't tested, although you do so above.

So there are problems with the invariance test categories covering this new metric variant.