Optimize 1x1 convolution for Network-in-Network style operation

1x1 convolution with stride 1 is a special case of Caffe matrix
multiplication convolution for which im2col / col2im transformations are
actually the identity. For this special case the memory and
transformation are skipped.

This optimizes the execution of 1x1 convolution i.e. NIN / CCCP convolutions. 

@mavenlin
By the way... could we save memory in the usual case by changing this line to `col_buffer_.mutable_cpu_data()` (i.e., by reusing the same buffer for both data and diff)? Perhaps I have missed something, but I don't see any reason in the code below why we need two separate buffers...