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.
Tell that the output can be preallocated or NULL. For the input, tell the properties that we garantie and those that we don't?

Even if it is in the example, I think having them there is good.