CumsumOp on GPU

CUDA implementation of the cumsum for 1D and 2D array. I didn't have time to look how to implement a generic ND version yet.

I put the code in a new file called ``extra_ops.py`` in the ``sandbox.cuda`` folder. I didn't know how/where to put the GPU version of the cumsum, so I took ``sandbox.cuda.neighbors.py`` as an example.

I also added some check and unit test for the CPU version of the cumsum.

Let me know if I should have use a architecture/function/variables that I wasn't aware of.
This will always more that op to the GPU. Currently we move an op to the GPU only if the input was on the gpu and transfered to the CPU or if the output is moved to the GPU. In conclusion, add this check:
if ... and node.inputs[0].onwer and isinstance(node.inputs[0].owner.op, HostFromGpu)