Locally connected layer

This PR implements a locally connected layer, as described in [1], for example.

It's similar to convolution, but there is no weight sharing.

Ye Lu and I worked on this together. Working code is mostly his. Bugs are mine.

We wrote this a while back, before the convolution layer supported non-square filters and strides. I can add support for that if there is interest.

Looking forward to hearing your comments.

[1] Yaniv Taigman, Ming Yang, Marc'Aurelio Ranzato, Lior Wolf. DeepFace: Closing the Gap to Human-Level Performance in Face Verification. In Computer Vision and Pattern Recognition, 2014. CVPR 2014. [pdf](http://www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Taigman_DeepFace_Closing_the_2014_CVPR_paper.pdf)