HingeLossLayer

* Currently, `HingeLossLayer` only provides a CPU implementation
* Tests are not included
* I intend eventually to rectify the above, but these commits should be usable now
* ~~Adding L2 regularization directly to `InnerProductLayer` might seem heavy-handed (although the implementation is simple)~~
* ~~AFAICT #258 does not address regularization of parameters, so it will not make 86ef499 go away, but future work might provide a more general solution~~
* Although this means one can use caffe to train linear SVMs, this is clumsy without the convex optimization smarts provided by SVM packages; however, caffe can do end-to-end training of a nonconvex network with a max-margin objective