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.
I don't have a personal objection to this. However, could you tell me the reason PyArray_EMPTY and ZEROS are preferred to their corresponding methods? I always thought it was more or less a personal preference since I never found one harder to use than the other.