Rationalize assert support

* use pythran_assert instead of standard assert macro
* disabled when running under -DNDEBUG
Remove spurious parenthesis in expressions

They somehow disturb g++, which is a wonder to me...
PEP8 compliancy

I've been a bit lazy about these one lately... but not the only one :-)
Add support for the iter() intrinsic

Also rework the next() intrinsic so that it raises an exception when the
iteration stops. It implies a slight update of the generator stuff.
Fix false sharing in aliasing analysis
More rosetta code: Z letter is ok

Including a complex example that uses iter, next and a generator...
Fix bug in collection of functions

* rework __combined type inference
* add missing callable trait for variant functions
* fixes a few bug in typing and aliasing handling when handling
  collections of function
* validate the whole stuff

This commit closes #71
Extend normalize_tuple to visit dict comprehension
More string  conversion

* string -> char
* string -> double
Make std::tuple hashable

So that it can be used as a key for a dictionary.
Rework type inference combination

Relies on __combined rather than operator+. This is important to handle
tuples correctly, because

tuple<int,int> + tuple<int, int> == tuple<int,int, int, int>

while

__combined<tuple<int,int>, tuple<int, int>>::type == tuple<int, int>
Handle Y' rosetta code series

A very beautiful one, that once again raised a lot of errors...
Fix documentation typos
Merge pull request #73 from franckCJ/master

My comments on the documentation
Auto conversion from tuple to list when possible

The basic idea is to *always* rely on core::make_tuple to create tuple
and on decltype(core::make_tuple(...)) to refer to the type of a tuple.

The one can overload core::make_tuple to return a ltuple instead of a
tuple when all parameters have the same type. A ltuple is just a list
with another type. So it is iterable etc and behaves fine with pythonic.
And the extra type information makes it possible to convert it to a
tuple when going back to the Python world .

This commit closes #70.
Merge branch 'master' of github.com:serge-sans-paille/pythran
Constant value in a module may not be a scalar
Add some functions/constantes in string module
enable module constant as default value in a function
We can use ImportIds pass on a list