Fix set typing
Merge pull request #221 from pbrunet/set_typing

Set typing
Rework implementation of ndarray

Pythran's ndarray had very poor performance for extended slices,
while extended slices are used a lot in numpy codes.

This commit fixes this, trading the linear transversal approach for a
hierarchical, iterator-based, approach. This unfortunately leads to a
major rewrite of all numpy-related pythonic code.

Several test cases have been added in addition to existing ones,
especially concerning extended slicing.

Note that this remove OpenMP and Boost.SIMD support for ndarrays.

First Step!
Fix Pythran typing of extended slice
Support implicit type promotion for bool array sum

As reported by Ian.
Implement axis version of numpy.roll
Rework openmp visiting forget nodes

* Many nodes were not visited but they are now
* Accept others nodes than ast.Name in omp directives
* Fix bad omp pragma
Fix forwarding for empty statement

* in case of : if foo(): i = 2; print i
  `i` will be forwarded and the if statement will contain nothing. It won't be a valid ast.
Merge pull request #226 from pbrunet/fix_forwarding

Fix forwading for empty statement
Merge pull request #217 from serge-sans-paille/rework-numpy-array

Rework ndarray
Improve LazynessAnalysis for omp construct.

    * Lazyness is blocked only at the edge of omp construct