Improve and extend numpy.sum, max, min and prod

* Fix the axis implementation that behaved badly when ndims > 2
* Avoid many temporary arrays
Support axis argument in numpy.mean
Improve numpy.repeat, reshape and resize

* support -1 in shape
* fix buggy repeat typing
Partial support of broadcasting when performing a  numpy_expr

Also support broadcasting when the number of dimension is the same but
the shape are different.
Support numpy.var
Two extra stack overflow test cases

Tests broadcasting and variance.
Fix bug in np.concatenate

Previous implementation led to a buffer overflow...
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
Fix hyantes test case