Easier printing of the output of CxxBackend
Scope Analysis

This commits adds scoping support to Pythran: a variable can now be
declared locally instead of being declared at the function level. This
is especially useful in presence of OpenMP directives, as it makes them
less verbose.

It's a slightly complex pass, so I documented it in a new
doc/INTERNAL.rst document, validated by the doctest, of course!

Several OpenMP test cases have been updated to reflect this pass's
changes
Use comment in addition to strings to hold OpenMP annotations

Duplicate OpenMP tests with new directive style.
This new tests take into account automatic scoping.
Fix bad OpenMP directive processing for print

The directive was correctly parsed and attached to the node, but not
pretty-printed.
Pythran 0.4 "PyHPC"

Featuring
- better OpenMP support
- several performance bug fixes
- faster numpy array indexing
- optional parameter support
- faster tuple implementation when all elements have the same type
- a few more supported module, including ``functional.partial``
- exception not caught at the C++ level are now raised at the Python
  level
- better long support
- more testing, special thanks to g webb
- several bugfixes in the C++ backend
- better None support, especially for scalar types
- add CFG analysis for better ``return None`` insertion
- better documentation!
Merge pull request #179 from serge-sans-paille/scope

Scope