Support the len_of trait for itertools.imap

In the way, fix a very subtle way of iterators not iterating on the same
object due to copies...
Support passing a tuple as parameter of numpy.ndindex

Also fix a bad iterator typing issue in the associated iterator.
Fix behavior of the modulo operator in presence of negative input

C++ and Python differ on that point: the output is always positive with
Python and not in C++.

Syndicate code with operator_:mod, do the same for operator_::floordiv
Support augmented assign for ndarrays
Add a difficult test case from parakeet