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.