HingeLossLayer and L2 regularization in InnerProductLayer

* 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 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