Full advanced Indexing support + gradient

This patch implements full advanced indexing support as well as the gradient. 

It currently relies on this package being installed (https://github.com/jsalvatier/advinc), which only has c function. Obviously this should go in Theano, but it's not clear to me where it should go. I would like some input here.

Also, the patch currently relies on numpy having an interface to MapIter (which is a recent patch), so it's also necessary to check that this works. 

Since the patch isn't strictly ready, I'm not sure if this is the right channel to go through, so let me know.