Added usecases for scan tutorial
Merge branch 'master' of git://github.com/Theano/Theano into scan
Merge branch 'master' of git://github.com/Theano/Theano into scan
Adding test for scan and comments in the doc.
Merge branch 'master' of git://github.com/Theano/Theano into scan
Correction of the tutorial code.
Correction of the tutorial.
Add an op that wrap a python function and uses it as its perform.
Add support for single-elements itypes and otypes and optional infer_shape callable.
Corrected the documentation.
Fix syntax error.
Add Ian tutorial on Theano web site.
Fix usage of Popen.wait().  This is liable to deadlock if used with subprocess.PIPE and it was used like that all over the place.

I've created new wrapper that will hopefully avoid this broken usage.
(This was started with Raul Chandias Ferrari)
Flatten Composite.

This help gh-689 as it allow it to support up to 57 iteration of the
loop instead of just 43.

This could also help Theano cache in the case where graph could have
different fusion order, so different way the composite are in each
other, but do the same computation.

This make the printing of Composite more readable.
Fuse add/mul elemwise in a big add/mul elemwise before doing fusion
with Composite.

This allow to pickle bigger Composite graph as it simplify the graph,
so we bust later the max recursion limit.
Fix crash for Composite with multiple outputs just introduced and test the flatte.
Test the complete fix gh-689

We fix for atleast 158 loops of that problem.
Fix tests folling fusion changes.

The 2 subtensors tests change probably due to optimization order changes.
The 2->22 is that in the past, the Composite wasn't flattened, so the outer Composite was smaller.
Small refactoring to speed up get_scalar_constant_value.

This make less condition being tested. It speed up the slow scan tests.
Simplify Elemwise.perform. Now all inputs have the same ndim. No need of padding.