Add a mode to docgen to run the code samples in the documentation.

This alleviates copying them elsewhere to ensure they are not broken.
Add 3d correlation based on matrix multiplication
Fix errors in the gradient definition
First version of the C op tutorial.
Added C op tutorial to tutorial index.
Small fixes
Add PyDecref(cols) when an error occurs
Rename conv_gemm to corr_gemm
Update flops method
Fix typos
Typo correction
Add optimization for the GpuCorr3dMM
Add GpuCorr3d optimization tests
Added explanation about required validation of inputs and outputs
Fixed typos and removed trailing whitespaces.
Replaced the Python C-API introduction paragraph with suggestion from reviewer
improving the code for fixing ticket 1356
Modified output variable creation in make_node
Switched usage of pyArray_Empty and Zeros to PyArray_EMPTY and ZEROS and adjusted documentation accordingly
Added links to class Op's C code related methods.