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.
It feels weird to read `In this API, all classes that represent Python objects are descendants of the class PyObject` as if it wasn't the case for normal python code.  Also PyObject isn't a class, it's a C type.

I would re-write this paragraph as something like this:
```
Python provides a C-API to allows the manipulation of python objects from C code.
In this API, all variables that represent Python objects are of type `PyObject *`.
All objects have a pointer to their type object and a reference count field (that is
shared with the python side).  Most python methods have an equivalent C function
that can be called on the `PyObject *` pointer.
```