New opt: T.dot(A,B)[i] -> T.dot(A[i],B)
ValueError when n_streams is too large (On GPU)
Cache c code
remove line not used.

It was used during development, but not needed at the end.
Preliminary version of dot+subtensor optimization, supporting arbitrary indexing.
Clarified docstring and removed unnecessary subtensor.
Tests for subtensor_of_dot, and corrected optimization for tensors with more than 2 dimensions.
Cleaner implementation of local_subtensor_of_dot.
Removed commented code.
Add unit test
Added new Op for C ops to inherit from
Updated Theano tutorials with example for new COp class
example this tutorial => example of this tutorial
Main external function now has non-void arguments + Fixed extenal C example that was out of date.
Updated documentation to show that main functions now get typed arguments
Updated documentation to explain the necessity of c_support_code() and c_support_code_apply()
interupt => interrupt
Added warning about using the NODE_NAME_PLACEHOLDER macro in apply-agnostic support code
Fixed typos and scan_ops in debugmode.
Did the Fred's changes.