Reactivate -p flag that was not forwarded anymore
A few code cleaning

Nothing that really matters:
- some more perfect forwarding
- more type inference combination
- an uninitialized variable
Improve performance of numpy's ndarray indexer

* Use a specialization to correctly handle the 1-dim case
* Avoid to create the underlying object over and over
* Fix behavior when using constant indices
Support optional parameter for exported functions

given a function like:

    def foo(a, b=0):
        ...

it is now possible to export it as

    #pythran export foo(int)

and

    #pythran export(int, int)
change std::array to core::array to have a conversion constructor

* a = ((1,2), (3.5, 4.5)) didn't work
Fix len for tuple

* tuple doesn't have iterator type
Fix zip with different size iterator

* we tested the end of the first iterator in zip but the reference
  is the shortest iterator
add comparison between list and empty list
improve string interface

* negative index (only for const acces as no other access can happen from user on strings)
* fix slices
* print for string_view
* slices of string_view
* boolean test for string_view
Fix imap

* iterable were saved to avoid dangling references but it was not this values
  which was passed to others constructors. Now, iterable are saved in imap_iterator
   and it works. More perfect forwarding are enabled BUT iterable are saved twice:
   in begin() AND in end() of _imap
* multiple redundancy of template declaration in constructor as It... can have const ref but
  Types... can't. Same for First and L0. Needed to enable perfect forwarding