Use gradient_undefined instead of None in MRG uniform
Catch exception and forward NullType to input gradients, instead of failing
Try to fix how Null gradients are propagated in Scan

- propagate NullType when summing different gradient contributions
- identify which outer outputs of the scan node implementing the grad
  should be Null
- replace them, and the corresponding inner variables, with zeros
  of the appropriate size, so the scan node can be compiled and run.
- introduce a difference in undefined gradient because going through
  a shared variable with updates, and because a NullType was returned
  by the internal graph.
Actually compile and run the grad scan node.
Update comment, indentation.
Change local variable name.
Give more evidence to hint for more debug information.
Better backtrace storage.

Raise the backtrace limit to caught where v1 + v2 is created in user script.
Remove the add_tag_trace from the bt.
When a thunk fail, print the back-trace of the node creation.
when a thunk fail, always print the node.inputs types.
Merge pull request #1737 from MarcCote/cumsum_memoryleak

Fixed memory leaks in cumsum and cumprod.
Put all hints at the end of the error message.

this is more clear and allow to see all of them at once.
Merge pull request #1654 from lamblin/fix_mrg_grad_none

Use gradient_undefined instead of None in MRG uniform
Merge pull request #1736 from nouiz/err_msg

[MRG]Better error message when a thunk fail: print user code line when node was created
Starting GpuCumsum
Add a dummy kernel for testing.
First draft of the cuda cumsum.
Fix durp error
Fixed bugs, added some unit tests.
Make cumsum recursive to handle very large array