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

hierarchical, iterator-based, approach. This unfortunately leads to

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.

Step!
Improve array iteration
Fix Pythran typing of extended slice
Extend Lazyness analysis for local variables

Allow variables locals to a loop to be lazy.