Remove temporary array in np.cumsum

np.cumsum can now take any numpy expression as parameter without
allocating a temporary buffer.
Make it possible to index an array through an array
More stackoverflow-powered test cases