Implemented the basis for convolutional neural nets

This is the first PR for convolutional nets where I added a class that represents a single feature map in a convolutional network. It handles convolution on multiple input layers/channels/batches and handles gradient computation.

Next on my to-do list for convolutional nets:
- Handling non-linearities for CConvolutionalFeatureMap
- Implementing max-pooling
- Putting it all together in a CNeuralConvolutionalLayer class that can contain multiple feature maps