More cleanup and refactoring
Add numpy.sum()
Add numpy.prod() and ndarray.prod()