Added loop_convolution utility

`conv_filter` activates top using bottom and weight.
`conv_weight` activates weight_diff using top_diff and bottom.
`conv_image` activates bottom_diff using top_diff and weight.
Modify `LoopConvolutionLayer` to use loop conv

Now `LoopConvolutionLayer` uses the utility functions
in "caffe/util/loop_convolution.hpp".
Added a test for backprop of LoopConvolution

This is mostly just copied from original test.