caffe conv kernel for theano. tests work, but needs integration and some...

The caffe convolution works and passes test, however, code needs some cleaning, which are marked with TODO in comments.  I created a new file, theano/sandbox/cuda/tests/test_conv_gemm.py that calls GpuConvMM. 
To deallocate a CudaNdarray simply Py_DECREF() it.