Tutorial for C op

Work in progress.

This is the first version of the tutorial on extending theano with C ops. I'm looking for feedback from people with experience with it to help check for factual errors as well as from people with little experience extending theano to ensure that the concepts are explained clearly enough for new contributors to Theano. Thanks.
props has already been defined and explained in extending_theano (the prequel) so I don't think it would be relevant to explain it again. 

I also think it would be good to have a more complex examples that uses more of the elements introduced in this tutorial. I'll try to think of a good op of that example. If you have any idea, feel free to share them.