Refactor transformations passes: one per file
Refactor analyses passes: one per file
Refactor optimizations passes: one per file
Add missing import for std::accumulate
Fix std::iterator inheritance (first parameter has to be a category)
Be more generic for template specialization on fundamental type
Add missing specialization c_type_to_numpy_type<unsigned long long>
Install transformations and analyses subpackages (setup.py)
Workaroud for vector<bool>. Seems ugly to me, but it works.
Restore OpenMP support

Thanks to the rework of ndarray, everything is syndicated on a single
pair of functions!

Beware that nested parallelism is disabled, so parallelization of the
iteration over an int[2][1000000] is not good, while parallelization of
the iteration over int[1000000][2] is great. What can we do about this?
Merge pull request #246 from serge-sans-paille/restore-openmp-support

Restore OpenMP support
Merge pull request #247 from joker-eph/split_passes

Split passes
Merge pull request #244 from joker-eph/missing_import

Portability
Support using Python types as numpy dtype

To do so, the version of int() long() float() etc. without parameters
must be available.
Distinguish containers with dynamic or static size

Use a type trait to achieve this goal, useful for list to tuple versus
array to tuple conversion.
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