Simplify Type inference

To the price of a small regression (see new skipped test), compilation
times are now reasonable with gcc.

The key is to *not* perform two typing passes but only one.

Former behavior is still available through the config file.
Full clang compatibility

After a few changes in the core::list code, pythonic is now compatible
with clang.

Most issues were related to implicit casts leading to ambiguous
conversions...

pythran/tests/cases/quicksort.py led to the return of uninitialized
value,but their is already an issue opened for this case.
Improve extended slices performances

Use an internal buffer to cache array indexing.
Update TODO list
IPython integration

It is now possible to use the magicfunction %%pythran to use pythran
from an IPython shell.
Enable definition of function with the same name than an intrinsic
In operator for sliced_string in string
Add file type information
Improve string interface

* split, startswith and endswith
Make pythran runnable from dev folder

Workflow is really slower when we need to reinstall everything before each test: Pythran should have +x right
Remove obsolete option
Fix several assignment / aliasing issues

Now clearly distinguish between index_ndarray, sliced_ndarray and
gsliced_ndarray.

Use the typing information to perform deep or swallow copy when needed.
Fix usedefchain analysis

* Loop didn't succeed because of copy not deep enought
Unskip some tests as they succeed now adding in intrinsics to empty set and dict